python解压缩——非常慢?

use*_*424 6 python linux ubuntu zip unzip

有人可以解释以下谜团吗?

我创建了一个大小为 ~37[MB] 的二进制文件。在 Ubuntu 中压缩它——使用终端——用了不到 1[sec]。然后我尝试了 python:以编程方式压缩它(使用 zipfile 模块)也花了大约 1[sec]。

然后我尝试解压缩我创建的 zip 文件。在 Ubuntu 中——使用终端——这花费了不到 1[sec]。

在 python 中,解压代码(使用 zipfile 模块)运行时间接近 37[sec]!任何想法为什么?

joc*_*hen 0

我不知道您使用什么代码来解压缩文件,但以下代码对我有用:创建仅包含一个文件“file1”的 zip 存档“test.zip”后,以下 Python 脚本从存档中提取“file1” :

from zipfile import ZipFile, ZIP_DEFLATED
zip = ZipFile("test.zip", mode='r', compression=ZIP_DEFLATED, allowZip64=False)
data = zip.read("file1")
print len(data)
Run Code Online (Sandbox Code Playgroud)

这几乎不需要时间:我尝试了一个 37MB 的输入文件,该文件被压缩为 15MB 的 zip 存档。在此示例中,Python 脚本在我的 MacBook Pro 上花费了 0.346 秒。也许在您的情况下,这 37 秒被您对数据所做的事情占用了?

  • 只读取一个文件很容易,但是对于我来说,包含许多小压缩文件的大型 zip 存档运行速度非常慢。也许 zip 中的文件查找效率低下? (3认同)