zipfile extrahieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
dark-lion
User
Beiträge: 46
Registriert: Mittwoch 25. April 2012, 14:22

wie kann man ein zipfile extrahieren?
ich habe es bereits so probiert:

Code: Alles auswählen

zipfile = zipfile.ZipFile("test.zip", 'r')
zipfile.extract("ziptest2.txt")
zipfile.close()
aber der fehler ist immer:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Users\User\Desktop\ziptest\ziptest ausleser.py", line 10, in <module>
    zipfile.extract("ziptest2.txt")
AttributeError: ZipFile instance has no attribute 'extract'
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

dark-lion hat geschrieben:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Users\User\Desktop\ziptest\ziptest ausleser.py", line 10, in <module>
    zipfile.extract("ziptest2.txt")
AttributeError: ZipFile instance has no attribute 'extract'
Das sieht aus, als würdest du eine ältere Version von Python verwenden. extract gibt es seit Version 2.6.

Wenn du die Python-Version nicht aktualisieren kannst, dann musst du auf read() ausweichen.
dark-lion
User
Beiträge: 46
Registriert: Mittwoch 25. April 2012, 14:22

ah ok danke.
habe version 2.5
aber iwie wird die datei in dem zipfile nicht extrahiert.
das blick ich nicht.
geht das mit meiner version nicht?
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

dark-lion hat geschrieben:habe version 2.5
aber iwie wird die datei in dem zipfile nicht extrahiert.
das blick ich nicht.
geht das mit meiner version nicht?
Ich weiß nicht wie ich es dir noch erklären soll. Lies es selber bei extract nach: "New in version 2.6."

Version 2.6 kam, wie man an der Versionsnummer erkennen kann, nach Version 2.5 heraus. extract ist neu in Version 2.6. Wenn wir jetzt diese beiden Dinge als gegeben annehmen, dann kann man daraus durchaus ohne größere Mühe schließen, dass extract bei dem von dir verwendeten Python 2.5 noch nicht vorhanden ist. Kurz gesagt: Nein, es geht mit deiner Version nicht.
dark-lion
User
Beiträge: 46
Registriert: Mittwoch 25. April 2012, 14:22

Ich meine mit der read() funktion wird es auch nicht entpackt
BlackJack

@dark-lion: Dir ist schon klar was `read()` macht und hast jetzt nicht einfach nur `extract()` durch `read()` ersetzt‽
Butterfly
User
Beiträge: 6
Registriert: Montag 29. Oktober 2012, 11:34

Hallo zusammen,

ich bin gerade über diesen Beitrag gestolpert.

ich habe ein ähnliches Problem... ich bin an die Version Python 2.5 gebunden.
und zwar habe ich ein Zipfile in einem ZipFile... und kriege es nicht hin, dass ich das "innere" ZipFile öffne und dann Daten auslesen kann...

Ist das dann hier auch nicht möglich...

Grüße
Butterfly
BlackJack

@Butterfly: Das sollte eigentlich möglich sein. Du musst dafür nur für das innere ZIP ein `ZipFile`-Objekt erstellen. Die nehmen ja entweder einen Dateienamen (von einer Datei die im Dateisystem existiert) oder ein „dateiähnliches Objekt”. Und die sollte man mit der `open()`-Methode auf `ZipFile`-Objekten bekommen. In diesem Fall also vom äusseren ZIP.
Antworten