标新立异的日志归档:用更少的内存归档大规模测试日志
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)
版权声明: 本文为 InfoQ 作者【陈磊@Criss】的原创文章。
原文链接:【http://xie.infoq.cn/article/c6809a6522abe23f34bf3fd2b】。未经作者许可,禁止转载。
评论