mic*_*.ca 11 python performance zipfile
是否有一个明显更快的替代Python 2.7.4 zipfile模块(使用ZIP_DEFLATED)将大量文件压缩成单个zip文件?我看了一下czipfile https://pypi.python.org/pypi/czipfile/1.0.0,但这似乎集中在更快的解密(不压缩)上.
我经常需要处理大量的图像文件(大约12,000个.exr和.tiff文件组合的文件),每个文件大小在1MB到6MB之间(所有文件大约为9GB)到一个文件中zip文件用于发货.这种压缩处理需要大约90分钟(在Windows 7 64位上运行).
如果有人可以推荐一个不同的python模块(或者一个C/C++库甚至是一个独立的工具),它能够在比zipfile模块更短的时间内将大量文件压缩成单个.zip文件,那就是非常感谢(任何接近〜5-10%更快(或更多)的东西都会非常有帮助).
正如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"])
Run Code Online (Sandbox Code Playgroud)
正如martineau提到的,您可以尝试使用压缩方法。该页面提供了一些有关如何更改命令行参数的示例。