我目前正在尝试将 .txt 文件导入某些专有软件,但似乎不断收到错误消息。.txt 文件大小接近 2GB,大约有 5600 万行。
在与制造商交谈后,他们表示其中一条生产线可能存在错误。每行应包含一个 MD5 哈希值(32 个字符),因此,使用 Python v2.7,我希望扫描处理 .txt 文件以检查每行的长度并打印“违规”行的值.
这是我尝试过的: -
f = open("x.txt")
contents = f.readlines()
f.close()
for line in contents:
if line(len) == 32:
continue
else:
print line
不幸的是,当我尝试此代码时收到错误消息:-
File "<pyshell#30>", line 2, in <module>
if line(len) == 32:
TypeError: 'str' object is not callable
所以我尝试了以下方法,相信我必须将“行”转换为整数:-
for line in contents:
if int(line)(len) == 32:
continue
else:
print line
但这只是带回了一个错误:-
ValueError: invalid literal for int() with base 10: '000000000000000012452154365298BD"
如前所述,我要做的是读取 .txt 文件的每一行,如果它不是有效的 MD5 哈希值,则将该值打印到屏幕上,甚至删除该值。
非常感谢
[编辑]原来这是一个小学生的错误。谢谢大家