1

我正在使用 zipfile 来处理一个大的 zip 文件(3.2G)。我的代码是这样的。

zfile = file('filename.zip')
f = zipfile.ZipFile(zfile, allowZip64=True)`

然后出现一个错误:BadZipfile("Truncated central directory")。

  1. 如果我“打印 zipfile.is_zipfile(zfile1)”,那就是真的。
  2. 我确信这是一个独立的 zip 文件,而不是多磁盘文件。
  3. 如果我使用其他软件解压缩它,它会很好用,例如winrar
4

1 回答 1

0

在此处检查 zipfile 库的实现:

http://fossies.org/linux/misc/Python-3.3.2.tar.gz:a/Python-3.3.2/Lib/zipfile.py

我对何时引发异常感兴趣:

     sizeCentralDir = struct.calcsize(structCentralDir)
     if len(centdir) != sizeCentralDir:
           raise BadZipFile("Truncated central directory")

检查维基百科中的“中央目录结构”是什么之后

http://en.wikipedia.org/wiki/Zip_%28file_format%29

我认为问题在于图书馆不支持您的档案大小/结构。

于 2013-10-30T01:50:32.683 回答