当我尝试从文件中读取时,列表索引超出范围

时间:2016-04-23 11:35:32

标签: 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.readline().rstrip('\n')

在此之后我出现错误IndexError:list index out of range

如果我在print(attr)程序打印后放置attr = line.split(';')

['1', 'Boston']
['2', 'Denver']

2 个答案:

答案 0 :(得分:1)

试试这个:

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')

答案 1 :(得分:0)

问题是hiere:while line != " ":,我必须这样:while line != "":(没有空格)