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"
しかし、これは本当に役に立ちませんでした。これを有効にしてコードを実行すると、シェルにダンプが表示されます。