大規模なテストログをより少ないメモリでアーカイブ

1021 ワード

ZipFlyはzipfile.pyベースのzipアーカイブジェネレータです.主に、現在非常に大きなZIPアーカイブを生成する際に、大量のメモリを消費する問題を解決するために使用されます.
インストールプロセス
ZipFlyはPython 3.5以上のバージョンサポートが必要で、インストール方式pip3 install zipfly使用法の説明
zipfile deflaterはデータをバッファリングするため、メモリが膨張する現象に制限があります.データはかなり一定の時間間隔でターゲットファイルに書き込まれます.zipfileのデフォルトのプロパティは次のとおりです.
paths: [ ]
mode: w
chunksize: (bytes) 16384
compression: Stored
allowZip64: True
compresslevel: None
storesize: (bytes) 0

コード使用例:
import zipfly
# fs (filesystem):          
# n:    

paths = [ 
    {
        'fs': 'home/user/Videos/jupiter.mp4', 
        'n': 'movies/jupiter.mp4', 
    },       
    {
        'fs': 'home/user/Documents/mercury.mp4', 
        'n': 'movies/mercury.mp4', 
    },          
]

zfly = zipfly.ZipFly( paths = paths )

generator = zfly.generator()
print ( generator )


with open("test.zip", "wb") as f:
    for i in generator:
        f.write(i)