Seite 1 von 1

Mehrere Files entpacken(zippen) ...

Verfasst: Montag 23. Mai 2005, 20:32
von lakeck
Hallo,

ich hole mir mehrere Files per FTP, die ich dann auch
fein da rumstehen habe (Wildcard bla*)....

Code: Alles auswählen

   connect = ftplib.FTP(host="xxx.xxx.yyy.zzz")   
   connect.login(user="bla", passwd="blubb")  
   filelist=fnmatch.filter(connect.nlst(), "bla*") 
   for filename in filelist: 
       connect.retrbinary("RETR %s"%filename,file(filename,"wb").write)

   connect.quit()
   connect.close()
Das sind alles "zip-Files" die nun gerne im gleichen "Rutsch" entpackt,
und dann zu einem File zusammenbauen möchte "append"

Das muss doch irgendwie zu machen sein, oder ??
Aber wie ??

Verfasst: Mittwoch 25. Mai 2005, 13:30
von Joghurt

Code: Alles auswählen

import zipfile

outzip = zipfile.ZipFile("out.zip",mode="w",compression=zipfile.ZIP_DEFLATED)

for zipname in ["a.zip", "b.zip"]:
    inzip = zipfile.ZipFile(zipname,mode="r")
    for filename in inzip.namelist():
        outzip.writestr(filename, inzip.read(filename))
    inzip.close()

outzip.close()

Dank dir Joghurt ....

Verfasst: Sonntag 29. Mai 2005, 19:29
von lakeck
... aber ich Dämel bekomme nicht mal ein einziges
"gz-File" entpackt !!

Ich habs schon mit "Try & Error" probiert .. keine Chance !!

Könntest du mir bitte mal erklären, wie das funktionopelt !?

Muss ich erst "gz-File" einlesen a la

Code: Alles auswählen

bla = open("C:/blupp.zip", "r")
dann entzippen und ausgeben ??? Ich kollabier hier gleich ... :-)


Lakeck

Verfasst: Sonntag 29. Mai 2005, 21:11
von BlackJack
Lies doch mal die Doku vom Modul `zipfile` und versuch Joghurts Beispiel zu verstehen. Das sollte eigentlich weitergeholfen haben.

Verfasst: Montag 30. Mai 2005, 13:40
von Leonidas
Außerdem verwechselst du gzip mit ZIP.

Verfasst: Montag 30. Mai 2005, 18:51
von lakeck
AHA !!

Danke Leonidas !
Da wird mein Problem liegen ... ich versuche hier .gz-Files
zu entpacken. Daher wohl dann die Fehlermeldung:
... is not a ZIP-Achive ...

Ich probiere weiter ...
schönen Dank erstmal !!

Lakeck