python中的快速zip解密
我有一个使用python中的快速zip解密,python,zip,unzip,Python,Zip,Unzip,我有一个使用zipfile处理zip文件的程序。它与迭代器一起工作,因为未压缩的文件大于2GB,可能会导致内存问题 with zipfile.Zipfile(BytesIO(my_file)) as myzip: for file_inside in myzip.namelist(): with myzip.open(file_inside) as file: # Process here # for loop ....
zipfile
处理zip文件的程序。它与迭代器
一起工作,因为未压缩的文件大于2GB
,可能会导致内存问题
with zipfile.Zipfile(BytesIO(my_file)) as myzip:
for file_inside in myzip.namelist():
with myzip.open(file_inside) as file:
# Process here
# for loop ....
然后我注意到这个过程在处理我的文件时非常慢。我可以理解这可能需要一些时间,但至少它应该使用我的机器资源:比方说python进程应该100%使用它所在的核心
因为没有,我开始研究可能的根本原因。我不是压缩方面的专家,所以首先考虑基本问题:
- 资源似乎不是问题,即使我的编码方法不使用它,也有大量可用的RAM
- CPU的使用率不高,甚至一个核心也不高
- 压缩时打开的文件大约为80MB,因此磁盘读取速度也不会变慢
因此,我的问题当然是,我如何能够以类似的方式工作(在RAM中没有完整的解压缩文件),但在Python中以更快的方式解压缩?是否有其他库或其他方法来克服这种缓慢性?我做了一些研究,发现如下: 您可以“pip install czipfile”,更多信息请访问 另一个解决方案是使用python的变体“Cython”-
或者您也可以外包到7-Zip,正如这里所解释的:python有一个库来处理压缩文件,而无需占用内存 引自文件: 布松-齐普利 ZipFly是一个基于zipfile.py的zip存档生成器。它是由Buzon.io创建的,用于生成非常大的ZIP归档文件,以便立即发送到客户端,或者在不增加内存的情况下编写大型ZIP归档文件
从未使用过,但可以提供帮助。Python3有一个github端口:很有趣,我找不到对它的单一引用。但是我无法安装它。它失败是因为尝试读取
自述文件而不是README.md
,并且作者在回购协议中没有允许的问题。