2016-04-23 39 views
1

读书,我有一个文件女巫有信息:列表索引的范围内,当我尝试从文件

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

回答

0

的问题是hiere:while line != " ":,则必须同时我这样:while line != "":(没有contition空间)

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

我解决它......问题是' while line!=“”:'没有空格 – Sn0pY

+0

@ Sn0pY:如果你有答案,Stack Overflow鼓励你发布它。如果您认为这对未来的读者不会有帮助,则应删除您的问题。 – zondo