Sirius3 hat geschrieben:@Papp Nase: zipfile.open gibt Dir ein ganz normales Fileobjekt zurück.
Der Link, den Du mir gesendet hattest, zeigte genau auf die Funktion zipfile.open. Wenn ich die Funktion extractall mache, dann muss ich ein Zielverzeichnis angeben. Ich will aber kein physisches Zielverzeichnis auf der Festplatte angeben, sondern lediglich die Inhalte im Speicher öffnen. Es könnte doch z.B. sein, dass ich eine gezippte Textdatei habe:
c:\...\textdatei.txt.zip
Um jetzt an den Inhalt dranzukommen, mache ich:
Code: Alles auswählen
myzip = zipfile.ZipFile(workdir_path+sepfile)
myzip.extractall( workdir_path )
myzip.close()
Kann ich das machen? Macht es dann der Computer so, dass er die Datei nicht physisch auf der Festplatte extrahiert, sondern die Extraktion im Speicher erfolgt?
Wenn ich jetzt den Text der Textdatei "textdatei.txt" in einen String kopieren möchte, muss ich die Datei öffnen und in den String einlesen. Ich möchte es doch einfach nur einlesen, ohne die Datei zu öffnen.
Code: Alles auswählen
myfile = open("textdatei.txt")
for zeile in myfile:
print (zeile)
myfile.close()
Aus der Dokumentation werde ich noch nicht so schlau draus. Wenn ich mache:
erreiche ich dann unter myzip die noch gepackte zip-Datei oder schon die ungezippte Textdatei, also dass ich dann auch machen kann: