現在、.txt ファイルをプロプライエタリ ソフトウェアにインポートしようとしていますが、継続的にエラーが発生するようです。.txt ファイルのサイズは約 2GB で、約 5,600 万行あります。
メーカーに問い合わせたところ、ラインの 1 つにエラーがある可能性があるとのことでした。各行には 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 ハッシュ値でない場合は、値を画面に出力するか、値を削除することです。
どうもありがとう
[編集]男子生徒の間違いであることが判明しました。皆さんありがとう