115122
Goto Top

Zipfile extractall() Verständnisproblem

Hallo,

ich würde gerne (auf OS X) per Python ein Archiv entzippen.

# coding=utf-8
import zipfile

zFile = zipfile.ZipFile("/Users/user/Pictures/test.zip")  
try:
    zFile.extractall(path="/Users/user/Pictures/")  
except Exception, e:
    print e

print "Fertig"  

Das ist mein Code. Habe in der Hilfe nachgeschaut, da heißt es, man kann einen alternativen Pfad zum extrahieren angeben. Nur leider passiert garnichts. Es wird "Fertig" ausgegeben, sonst passiert nichts. Lasse ich den path weg, dann extrahiert er es in das Verzeichnis, in welchem die py Datei liegt. Weiß jemand weiter ?

Grüße

Content-Key: 301202

Url: https://administrator.de/contentid/301202

Printed on: April 19, 2024 at 13:04 o'clock

Mitglied: 114757
Solution 114757 Apr 07, 2016 updated at 18:53:05 (UTC)
Goto Top
Moin,
lass dich mal das path= weg. Und den selben Pfad anzugeben in dem das zipfile liegt ist ja auch nicht gerade intelligent face-wink
import zipfile

zFile = zipfile.ZipFile('/Users/user/Pictures/test.zip','r')  
try:
    zFile.extractall('/Users/user/extrahiert')  
    zFile.close()
except Exception, e:
    print e

print "Fertig"  
Gruß jodel32
Mitglied: 115122
115122 Apr 07, 2016 updated at 18:55:31 (UTC)
Goto Top
Okay.

Doofe Nachricht, es hat die ganze Zeit schon funktioniert mit meinem Code oberhalb. Ich dachte nur, dass wenn das Bild erneut entzippt wird, ein bild_2.jpg usw erstellt wird.. ist ja schon spät, ich schiebs mal darauf.

Aber jetzt: Ist der close und der "r" (read?) notwendig wenn es auch ohne geht ?

Schonmal vielen Dank.

PS: Das mit dem gleichen Pfad war mir zum Testen relativ wurschd, solange es nur eine einzelne Datei enthält. :D
Mitglied: 114757
114757 Apr 07, 2016 updated at 19:03:40 (UTC)
Goto Top
Zitat von @115122:
Aber jetzt: Ist der close und der "r" (read?) notwendig wenn es auch ohne geht ?
Das Close solltest du immer machen, denn sonst kann es passieren das ein Handle auf der Datei hängen bleibt. Wenn du das ZIP dann löschen willst kann es so zu Problemen kommen.
Nur weil es "anscheinend Funktioniert" ist noch lange nicht gesagt das du es weglassen kannst.
Den Mode anzugeben ist nicht nötig, da default, aber so sieht man direkt ob man ein Zipfile beschreiben kann oder nicht. Blöd wenn du versuchst ein File zu beschreiben das nur im Readonly geöffnet wurde.... kann bei größeren Skripten zu gemeinen Fehlern führen face-wink
Mitglied: 115122
115122 Apr 07, 2016 at 19:08:50 (UTC)
Goto Top
Alles klar, danke für die Hilfe face-smile