2013-11-21 62 views
0

我想创建一个程序来读取文件并获取人们在测试中得分的百分比。我使用了下面的代码。然后next()我用来跳过不包含有用信息的行。不过,我不断收到此错误:使用python解析文件时出现属性错误

lines.next() AttributeError的: '名单' 对象有没有属性 '下一个'

def process_line(percent): 
number = int(percent/10); 
if number == 10: 
    ui.raise_bar(9) 
else: 
    ui.raise_bar(number) 



source = open('statistics1.txt', 'r'); 
lines = source.readlines() 
for line in lines: 
    if line[0] == '-' or line[0] == '=' or line[0] == 'I': 
     lines.next() 
    else: 
     process_line(line[3])  

我缺少什么?

回答

0

错误消息非常精确:'lines'是一串字符串,不知道'next'。它不是一个迭代器。您可以使用简单的continue,然后继续下一次迭代。甚至更好,重写条件:

for line in lines: 
    if line[0] not in '-=I': 
     process_line(line[3])  

顺便提一下,因为它处理你不需要阅读前期整个文件,

source = open('statistics1.txt') 
for line in source: 
    .... 

会做同样的事情,读每一行。
编辑:请注意line[3]给你的字符串中的第三个字符,这可能不是你想要的。也许你想要像line.split()[3]这样的东西。

相关问题