Seite 1 von 1

zipfile extrahieren

Verfasst: Samstag 11. August 2012, 18:00
von dark-lion
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'

Re: zipfile extrahieren

Verfasst: Samstag 11. August 2012, 18:14
von /me
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.

Re: zipfile extrahieren

Verfasst: Samstag 11. August 2012, 18:21
von dark-lion
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?

Re: zipfile extrahieren

Verfasst: Samstag 11. August 2012, 18:40
von /me
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.

Re: zipfile extrahieren

Verfasst: Samstag 11. August 2012, 20:44
von dark-lion
Ich meine mit der read() funktion wird es auch nicht entpackt

Re: zipfile extrahieren

Verfasst: Samstag 11. August 2012, 21:35
von BlackJack
@dark-lion: Dir ist schon klar was `read()` macht und hast jetzt nicht einfach nur `extract()` durch `read()` ersetzt‽

Re: zipfile extrahieren

Verfasst: Montag 11. März 2013, 15:08
von Butterfly
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

Re: zipfile extrahieren

Verfasst: Montag 11. März 2013, 15:24
von 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.