Python 3.x 尝试从文件读取时,列表索引超出范围

Python 3.x 尝试从文件读取时,列表索引超出范围,python-3.x,Python 3.x,我有一个文件,其中包含以下信息: 1;Boston 2,Denver 现在,我尝试阅读这些信息并将它们放在一个列表中,代码: file = open(self.__file_name, 'r') line = file.readline().rstrip('\n') while line != " ": attr = line.split(';') city = City(attr[0], attr[1]) self.save(city) line = file

我有一个文件,其中包含以下信息:

1;Boston
2,Denver
现在,我尝试阅读这些信息并将它们放在一个列表中,代码:

file = open(self.__file_name, 'r')
line = file.readline().rstrip('\n')
while line != " ":
    attr = line.split(';')
    city = City(attr[0], attr[1])
    self.save(city)
    line = file.readline().rstrip('\n')
在此之后,我遇到了一个错误索引器:
列表索引超出范围

如果我在
attr=line.split(“;”)
之后放置一个
print(attr)
,程序打印:

['1', 'Boston']
['2', 'Denver']
试试这个:

file = open(self.__file_name, 'r')
line = file.readline().rstrip('\n')
while line != " ":
    attr = line.split(';')
    if len(attr) >1:


        city = City(attr[0], attr[1])
        self.save(city)
    line = file.readline().rstrip('\n')

问题是hiere:
whileline!=“”:
,while必须是这样的:
while line!=“”:
(继续中没有空格)

我修复了它。。。问题是,
whileline!=“”:
不带space@Sn0pY:如果您有答案,Stack Overflow会鼓励您发布。如果你认为这对未来的读者没有帮助,你应该删除你的问题。