Python 2.7.4 zipfile模块(使用ZIP_DEFLATED)是否有明显更快的替代方法,可以将大量文件压缩到单个zip文件中?我看了一下czipfile https://pypi.python.org/pypi/czipfile/1.0.0,但这似乎集中在更快的解密(不压缩)上。
我经常需要处理大量的图像文件(大约是12,000个.exr和.tiff文件组合的文件),每个文件的大小在1MB到6MB之间(对于所有文件大约为9 GB)进入单个zip文件进行发货。这种压缩处理需要大约90分钟(在Windows 7 64位上运行)。
如果有人可以推荐一个不同的python模块(或者一个C / C ++库甚至是一个独立的工具),它能够在比zipfile模块更短的时间内将大量文件压缩成单个.zip文件,非常感谢(任何接近~5-10%更快(或更多)的东西都会非常有用)。
答案 0 :(得分:5)
正如Patashu所提到的,外包到7-zip可能是最好的主意。
以下是一些示例代码,可帮助您入门:
import os
import subprocess
path_7zip = r"C:\Program Files\7-Zip\7z.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"])
正如马蒂诺所说,你可能会尝试使用压缩方法。 This page给出了一些如何更改命令行参数的示例。