Wie kann ich texte und bilder zippen?
Hallo!
Ich schreibe gerade ein Python-Script, in dem ich einige texte (als string, nicht als datei) und bilder (als bytes, wieder nicht als datei) habe, und alle in einer Zip-Datei zussammenpacken möchte. Ich weiß, wie man gespeicherte Dateien ein Zip-File mit dem Zipfile-Modul packt. Aber ich habe die Dateien nicht gespeichert, sondern nur als string oder bytes-objekt.
Hat irgendwer ne Ahnung wie man dass machen kann, ohne die dateien temporär zu speichern? Das würde mir sehr helfen!
Danke schon im Voraus!
LG
Ps: ich bräuchte die zip datei am besten auch so wie wenn sie gespeichert wäre und ich sie mit open('diezip.zip', 'rb') öffnen würde (also als bytes).
1 Antwort
Das geht direkt mit dem eingebauten zipfile:
https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.open
Beispiel:
import zipfile
with zipfile.ZipFile('bla.zip', mode='w') as zip:
with zip.open('test.txt', mode='w') as myfile:
myfile.write(bytes('hello, world', 'utf-8'))
Oh dann hab ich dass .write nicht richtig verstanden. Ich dachte das kann nur dateien die gespeichert sind in das Zip File packen. Danke!