2014-09-01 22 views
5

我想写一个python脚本,它应该提取zip文件:Python中的ZipFile模块提取密码保护的拉链慢慢

局:小猎犬,骨黑~ 1GHz Arm-Cortex-a8,Debian的喘息 Zipfile: /home/milo/my.zip, ~ 8 MB

>>> from zipfile import ZipFile 
>>> zip = ZipFile("/home/milo/my.zip") 
>>> zip.extractall(pwd="tst") 

其他解决方案与打开和阅读 - >写入zipfile和提取,即使 具有相同的效果。提取约需3-4分钟。

使用解压缩工具提取相同的文件需要不到2秒的时间。

有谁知道什么是我的代码wonrg,甚至用python zipfile lib?

感谢 Ajava

+0

是否影响提取邮件的密码是否受密码保护? – 2014-09-01 07:31:00

+0

不,它不会,如果相同的zipfile没有密码保护,相同的代码提取一切就像解压缩一样快!!!!! – 2014-09-01 07:33:45

+1

即使在我自己的PC上(i5,8GB RAM,Debian Wheezy),通过Python提取30 MB密码保护的zip文件也需要超过1分钟! – 2014-09-01 07:40:36

回答

4

这似乎是在Python 2.7 zip文件模块记录的问题。如果你看一下documentation for ZipFile,它清楚地提到:因为它是在本机Python 而不是C.

实施如果需要更快的性能

解密是极其缓慢的,你可以调用一个外部程序(如解压缩或7zip)从您的代码,或确保您正在使用的zip文件不受密码保护。

+0

我已阅读文档,但忽略了这一行!谢谢 – 2014-09-01 07:43:12