を持つ大規模なテキストファイルを検索する:もちろんPythonの3:私は正規表現を持つ大規模なテキストファイルを検索したいとセットアップ次のコードを持っているREGEX
import re
regex = input("REGEX: ")
SearchFunction = re.compile(regex)
f = open('data','r', encoding='utf-8')
result = re.search(SearchFunction, f)
print(result.groups())
f.close()
、これは、第二のために動作しません。 re.search
の引数は文字列またはバッファでなければなりません。しかし、私はそれが長すぎる(それは永遠にかかることを意味する)ので、文字列に私のテキストファイルのすべてを挿入することはできません。代替手段は何ですか?
[Python regex parse stream]の複製が可能です(http://stackoverflow.com/questions/4634376/python-regex-parse-stream) – Joe
ファイルがローカルドライブにあり、使用可能なメモリより大きくないと仮定しますファイルの読み込みには、正規表現を実行するよりも大幅に時間がかかります。あなたは実際に全部を最初に読もうとしましたか? – beerbajay
@beerbajay、CPUはHDDよりも速く文字列を処理できます。シンプルな式は、ディスクから読み込むよりも速く実行されます。 (あなたがかなり速いSSD/RAID上にいない限り)。 – Qtax