用更少的内存归档大规模测试日志

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)

你可能感兴趣的:(用更少的内存归档大规模测试日志)