用python解析文件时出现属性错误
Posted
技术标签:
【中文标题】用python解析文件时出现属性错误【英文标题】:Attribute error in parsing a file with python 【发布时间】:2013-11-21 18:19:55 【问题描述】:我想创建一个程序来读取文件并获取人们在测试中得分的百分比。我使用了以下代码。然后 next() 部分我用来跳过不包含有用信息的行。但是,我不断收到此错误:
lines.next() AttributeError: 'list' 对象没有属性 'next'
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])
我错过了什么?
【问题讨论】:
【参考方案1】:错误信息非常准确:'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]
之类的东西。
【讨论】:
以上是关于用python解析文件时出现属性错误的主要内容,如果未能解决你的问题,请参考以下文章