ZipFly是基於zipfile.py的zip存檔生成器。主要用於解決當前在生成非常大的ZIP歸檔文件的時候,佔用大量內存的問題的。
安裝過程
ZipFly需要Python3.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)