Wie überprüft man, ob eine Zip-Datei mit pythons Standardbibliotheks-Zipfile verschlüsselt ist?

8

Ich verwende Pythons Standardbibliothek, zipfile, um ein Archiv zu testen:

%Vor%

Und ich bekomme diese Laufzeitausnahme:

%Vor%

Wie kann ich testen, bevor ich testzip (), wenn die zip verschlüsselt ist? Ich habe keine Ausnahme gefunden, die diesen Job vereinfachen würde.

    
Eduard Florinescu 20.08.2012, 13:18
quelle

2 Antworten

8

Ein kurzer Blick auf den Bibliothekscode zipfile.py zeigt, dass Sie das überprüfen können die flag_bits-Eigenschaft der ZipInfo-Klasse, um festzustellen, ob die Datei wie folgt verschlüsselt ist:

%Vor%

Die Überprüfung, ob das 0x1-Bit gesetzt ist, zeigt, wie die zipfile.py-Quelle sieht, ob die Datei verschlüsselt ist (könnte besser dokumentiert werden!). Sie können RuntimeError von testzip () abfangen und dann die Infoliste durchlaufen () und sehen, ob es verschlüsselte Dateien in der zip sind.

Sie könnten auch einfach so etwas tun:

%Vor%     
Zachary Hamm 20.08.2012, 13:36
quelle
0

Wenn Sie eine Ausnahme abfangen möchten, können Sie dies schreiben:

%Vor%     
Noctis Skytower 20.08.2012 13:29
quelle