2017-10-28 8 views
1

bekam ich BadZipfile: Bad magic number for file header Fehler während eine .zip python2 zipfile.ZipFileExtrahierung .zip in Python

Gleiche .zip mit Extraktion, wenn sie mit extrahiert unzip gibt file #1: bad zipfile offset (local header sig): 0 aber mit Exit-Code 2.

Wenn jar -xf file.zip der Befehl extrahiert wird schließt mit $? == 0 ab, wobei nichts extrahiert wird.

Mit Datei gibt:

file -i file.zip 
file.zip application/octet-stream; charset=binary 

Dies ist für falsche Header gibt zipfile

$ hexdump -C file.zip | head -10 
00000000 50 67 f0 de 1e 7a 29 e4 93 56 3f 11 a2 5f b6 97 |Pg...z)..V?.._..| 

Correct-Header:

00000000 50 4b 03 04 14 00 08 08 08 00 28 3e 4b 4b 00 00 |PK........(>KK..| 

Warum die Datei als application/octet-stream aufgeführt ist ?

Ich bin auf

Distributor ID: Ubuntu 
Description: Ubuntu 14.04.5 LTS 
Release: 14.04 
Codename: trusty 

, was los ist? Welches Dateiformat ist das? Irgendwelche Zeiger?

+0

haben Sie alle anderen Möglichkeiten versucht: 'gzip',' unzip'? – RomanPerekhrest

+1

vielleicht Archiv ist beschädigt? – sotona

+0

Mögliches Duplikat von [Bad Magic Number Fehler mit ZipFile-Modul in Python] (https://stackoverflow.com/questions/7703639/bad-magic-number-error-with-zippfile-module-in-python) –

Antwort

1

Haben Sie das versucht?

import zipfile 
zip_ref = zipfile.ZipFile(path_to_zip_file, 'r') 
zip_ref.extractall(directory_to_extract_to) 
zip_ref.close() 
+0

Das ergibt: 'BadZipfile: Schlechte magische Zahl für Dateiheader' – abc

+0

Dann könnte dies helfen [https://www.programcreek.com/python/example/3149/zipfile.BadZipfile] – joeedit