Я использую Python 2.7 в Windows 7 (64-разрядная версия). Когда я пытаюсь распаковать zip-файл с помощью модуля ZipFile, я получаю следующую ошибку: -
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)
Этот код отлично работает со многими другими zip-файлами, которые я создал с помощью WinRAR, но myzip.zip
Я попытался прокомментировать следующие строки в _5 _: -
if fheader[0:4] != stringFileHeader:
raise BadZipfile, "Bad magic number for file header"
Но это не особо помогло. Запустив мой код с этим в действии, я получаю дамп в моей оболочке.