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