python zipfile.BadZipfile:截断的中心目录

时间:2013-10-30 01:20:09

标签: python zipfile

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

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

然后出现一个Error:BadZipfile(“Truncated central directory”)。

  1. 如果我'打印zipfile.is_zipfile(zfile1)',则为True。
  2. 我确定这是一个独立的zip文件,而不是多磁盘文件。
  3. 如果我使用其他软件解压缩它,例如winrar
  4. ,效果很好

1 个答案:

答案 0 :(得分: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

我认为问题在于库不支持您的存档大小/结构。