Pythonを使用してgzip形式のテキストファイルをオンザフライで追加することはできますか?Python Gzip - オンザフライでのファイルへの追加
import gzip
content = "Lots of content here"
f = gzip.open('file.txt.gz', 'a', 9)
f.write(content)
f.close()
行がファイルに6秒ごとに(注意「追加」)またはその付加されますが、結果のファイルは、標準の非圧縮ファイルと同じくらい大きいです - :
は基本的に私はこれをやっています(完了したら約1MB)。明示的に圧縮レベルを指定しても違いはありません。
既存の圧縮されていないファイルを後でgzipすると、サイズは約80kbになります。
その場でgzipファイルに「追加」することができず、圧縮されていると思いますか?
これはString.IOバッファに書き込んだ後、完了したらgzipファイルにフラッシュするケースですか?
gzipアルゴリズムを効率的に機能させるには、圧縮するコンテンツ全体に手を加える必要があります。それ以外の場合は、gzipされたコンテンツのチャンクを互いに追加するだけです。 – Nadh
@Nadhだから私の最終行は正しいと思いますか? String.IOに書き込み、gzipにフラッシュしますか? –
はい、うまくいくはずです。任意の瞬間にすべてのコンテンツが一緒にgzipされていることを確認するだけです。 – Nadh