用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解析文件时出现属性错误的主要内容,如果未能解决你的问题,请参考以下文章
在 python scraper 脚本中解析 facebook mobile 时出现 lxml 错误“IOError:读取文件时出错”
尝试在 python 中使用 ioctl 读取驱动器属性时出现溢出错误
安装SQL2000时,出现错误“对于MSSQLServer服务,服务控制器操作失败:1726远程过程调用失败”,怎样解决?