Python的zipfile模块的更快替代品?



是否有明显更快的替代Python 2.7.4 zipfile模块(带ZIP_DEFLATED)将大量文件压缩到单个zip文件中?我看了一下czipfile https://pypi.python.org/pypi/czipfile/1.0.0,但它似乎专注于更快的解密(而不是压缩)。

我通常必须处理大量的图像文件(.exr和.tiff文件组合的约12,000个文件),每个文件的大小在~1MB - 6MB之间(所有文件的大小约为~ 9gb),并将其打包成一个zip文件以供运输。这个压缩过程大约需要90分钟(在Windows 7 64bit上运行)。

如果有人能推荐一个不同的python模块(或者一个C/c++库,甚至是一个独立的工具),能够在比zipfile模块更短的时间内将大量文件压缩成一个。zip文件,那将是非常感激的(任何接近~5-10%的速度(或更多)将非常有帮助)。

正如Patashu提到的,外包给7-zip可能是最好的主意。

下面是一些示例代码,让您开始:

import os
import subprocess
path_7zip = r"C:Program Files7-Zip7z.exe"
path_working = r"C:temp"
outfile_name = "compressed.zip"
os.chdir(path_working)
ret = subprocess.check_output([path_7zip, "a", "-tzip", outfile_name, "*.txt", "*.py", "-pSECRET"])

正如martineau提到的,您可以尝试压缩方法。本页给出了一些如何更改命令行参数的示例。

最新更新