【问题标题】:Python ZipFile module extracts password protected zips slowlyPython ZipFile 模块缓慢提取受密码保护的 zip
【发布时间】:2014-09-01 07:02:38
【问题描述】:

我正在尝试编写一个 python 脚本,它应该提取一个 zip 文件:

Board:Beagle-Bone black ~ 1GHz Arm-Cortex-a8,debian wheezy Zipfile: /home/milo/my.zip, ~ 8 MB

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

打开和读取的其他解决方案-> 编写 zip 文件并提取甚至 特定文件具有相同的效果。提取大约需要 3-4 分钟。

仅使用 unzip-tool 提取相同的文件只需不到 2 秒。

有谁知道我的代码,甚至 python zipfile lib 有什么问题??

谢谢 爪哇

【问题讨论】:

  • 压缩包是否受密码保护对解压速度有影响吗?
  • 不,它没有,如果同一个 zipfile 没有密码保护,同样的代码会像解压缩一样快地提取所有内容!!!!!!
  • 即使在我自己的 PC(i5、8GB RAM、Debian Wheezy)上,通过 Python 提取 30 MB 密码保护的 zip 文件也需要超过 1 分钟!

标签: python python-2.7 gzip unzip


【解决方案1】:

这似乎是 Python 2.7 中 ZipFile 模块的一个记录问题。如果你看documentation for ZipFile,它清楚地提到:

解密非常慢,因为它是在原生 Python 中实现的 而不是 C。

如果您需要更快的性能,您可以从您的代码中调用一个外部程序(如 unzip 或 7zip),或者确保您使用的 zip 文件没有密码保护。

【讨论】:

    猜你喜欢
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2020-06-18
    • 2012-05-22
    • 1970-01-01
    相关资源
    最近更新 更多