相关疑难解决方法(0)

更快地替代Python的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%更快(或更多)的东西都会非常有帮助).

python performance zipfile

11
推荐指数
1
解决办法
6813
查看次数

8
推荐指数
2
解决办法
6999
查看次数

有效地从包含python中的大量文件的zip中读取一个文件

我将索引存储在磁盘上的压缩zip中,并希望从此zip文件中提取单个文件.在python中执行此操作似乎非常慢,是否可以解决此问题.

with zipfile.ZipFile("testoutput/index_doc.zip", mode='r') as myzip:
    with myzip.open("c0ibtxf_i.txt") as mytxt:
        txt = mytxt.read()
        txt = codecs.decode(txt, "utf-8")
        print(txt)
Run Code Online (Sandbox Code Playgroud)

是我使用的python代码.在python中运行此脚本需要相当长的时间

python3 testunzip.py  1.22s user 0.06s system 98% cpu 1.303 total
Run Code Online (Sandbox Code Playgroud)

这很烦人,特别是因为我知道它可以更快:

unzip -p testoutput/index_doc.zip c0ibtxf_i.txt  0.01s user 0.00s system 69% cpu 0.023 total
Run Code Online (Sandbox Code Playgroud)

根据要求:分析

Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1    0.051    0.051    1.492    1.492 <string>:1(<module>)
127740    0.043    0.000    0.092    0.000 cp437.py:14(decode)
     1    0.000    0.000    1.441    1.441 testunzip.py:69(toprofile)
     1    0.000    0.000    0.000    0.000 threading.py:72(RLock)
     1    0.000    0.000 …
Run Code Online (Sandbox Code Playgroud)

python performance unzip zipfile python-3.x

2
推荐指数
1
解决办法
1354
查看次数

使用Python解压文件的性能问题

我使用此代码来解压缩受密码保护的压缩文件:

with zipfile.ZipFile(folder_name+'\\'+each+'\\'+latest, "r") as z:
        z.extractall(folder_name+'\\'+each+'\\'+each,pwd=passwd)
Run Code Online (Sandbox Code Playgroud)

这在功能上工作完美,但非常慢。有什么办法可以让解压速度更快吗?

python performance zip

1
推荐指数
1
解决办法
1524
查看次数