我正在嘗試將某個.txt文件導入一些專有軟件,但似乎不斷收到錯誤。 .txt文件大小几乎爲2GB,大約有5600萬行。字符串的長度(Python)
在與製造商溝通後,他們表示可能在其中一行中存在錯誤。每行應包含一個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哈希值,打印到屏幕甚至刪除該值的價值。
非常感謝
[編輯]原來這是一個小學生的錯誤。感謝所有
謝謝。而不是「打印line_no」,我怎麼能改變這個刪除行?謝謝 – thefragileomen
@ thefragileomen查看更新的答案。 –