我正在使用 Windows 7(64位)上的 Python 2.7。当我尝试使用 ZipFile 模块解压缩 zip 文件时,会出现以下错误:
Traceback (most recent call last):
File "unzip.py", line 8, in <module>
z.extract(name)
File "C:\Python27\lib\zipfile.py", line 950, in extract
return self._extract_member(member, path, pwd)
File "C:\Python27\lib\zipfile.py", line 993, in _extract_member
source = self.open(member, pwd=pwd)
File "C:\Python27\lib\zipfile.py", line 897, in open
raise BadZipfile, "Bad magic number for file header"
zipfile.BadZipfile: Bad magic number for file header
WinRAR可以很好地提取我正在尝试提取的文件。
这是我用来从myzip.zip
解压缩文件的代码。
from zipfile import ZipFile
z = ZipFile('myzip.zip') //myzip.zip contains just one file, a password protected pdf
for name in z.namelist():
z.extract(name)
这段代码在我使用WinRAR创建的许多其他zip文件中运行良好,但无法解压myzip.zip
。
我尝试注释掉以下几行在Python27\Lib\zipfile.py
中的代码:
if fheader[0:4] != stringFileHeader:
raise BadZipfile, "Bad magic number for file header"
但这并没有真正帮助。使用此代码后,在我的终端上会得到一些转储信息。
PK♥♦
。 - haltTm