.txtを含むzipファイル内の行を検索する最速の方法は何ですか?メモリを叩くことなくzipファイル内の行を高速に検索
zipfileのサイズは約100MBで、抽出後は約700MBですので、メモリ内のテキストファイルを抽出して読み込むことはできません。
メモリ(100MB)内のzipファイルを読んで検索する可能性はありますか?
現在行っております。
with ZipFile(zip_file) as myzip:
with myzip.open(myzip.namelist()[0]) as myfile:
for line in myfile:
if line.startswith("interesting words"):
print(line)
約15秒かかります。
['re.finditer'](https://docs.python.org/2/library/re.html#re.finditer)がスピードアップしているかもしれませんが、確信が持たないと思います –
text = myfileメモリを使わずにread()を実行しますか?その700メガバイトのファイルはzipをinsizeします。圧縮されていないテキストではなく、zipfileのサイズである100MBまでしか読み込めません。指摘してくれてありがとう。 – Rahul
もちろん、それはたくさんのメモリを使いますが、Pythonのオーバーヘッドでも700 MBの文字列はおそらくあなたのコンピュータが処理できる以上のものではありません。このコードは、速度のためにメモリ使用量を交換しようとしています(実際にどれくらいの速度の利点があるかわかりませんが)。単純なコードを使用しながらメモリ使用量を最小限に抑える必要がある場合は、既存のコードとほぼ同じです。 – Blckknght