Hallo, ich hab ne frage:
Ist es möglich, dass man mit python in eine zipdatei was hinzufügt?
Wenn ja wie?
MfG Krauzi
Mit python datei in .zip kopieren.
Schon mal in die Dokumentation geschaut? Ja, es ist möglich.
Stefan
Code: Alles auswählen
import zipfile
z = zipfile.ZipFile("test.zip", "a")
z.writestr("Hallo.txt", "Hallo Welt\n")
z.close()
du musst beim erstellen des ZipFile-objektes angeben, ob du eine neue zip-datei erstellen ('w') oder etwas an eine bestehende zip-datei anhängen willst ('a').
Code: Alles auswählen
import os, zipfile
def zip(datei, zipDatei):
if os.path.isfile(datei):
if os.path.isfile(zipDatei):
zip = zipfile.ZipFile(zipDatei, 'a')
else:
zip = zipfile.ZipFile(zipDatei, 'w')
zip.write(datei)
zip.close()
else:
print datei, "existiert nicht."
zip('f:\\asdf.txt', 'f:\\zip.zip')
zip('f:\\fdsa.txt', 'f:\\zip.zip')
Erst mal danke für eure Antworten. Klappt alles. Aber jetzt hab ich noch ein problem. Der zeilenumbruch /n wird in der txtdatei als ein komisches zeichen dargestellt. Erstes Problem. Zweites: Ich möchte das in einer .con datei abspeichern. Hier übernimmt es das /n direkt in die .con. Also kein zeilenumbruch. Wie schreibe ich in die .con einen zeilenumbruch? Wenn ich einfach ne neue zeile in der .py beginn, führt es diese überhaupt nicht aus.
Problem 1:
Du arbeitest vermutlich mit Windows und Notepad (oder einem ähnlichen Editor, der nicht in der Lage ist, Unix-Linebreaks zu erkennen und richtig zu interpretieren).
Problem 2:
Python und dem IO-Mechanismus ist die Dateiendung ehrlich gesagt scheiss egal .
>>Masaru<<
Dann probier mal anstelle \n folgenden Linebreak \r\nKrauzi hat geschrieben:... Der zeilenumbruch /n wird in der txtdatei als ein komisches zeichen dargestellt. ...
Du arbeitest vermutlich mit Windows und Notepad (oder einem ähnlichen Editor, der nicht in der Lage ist, Unix-Linebreaks zu erkennen und richtig zu interpretieren).
Problem 2:
Dann tu's doch einfach : z.writestr("Hallo.con", "Hallo Welt\r\n)Krauzi hat geschrieben: ... Ich möchte das in einer .con datei abspeichern ...
Python und dem IO-Mechanismus ist die Dateiendung ehrlich gesagt scheiss egal .
>>Masaru<<
Thx mit \r\n klappt es. Ich hab aus versehen als zeilenumbruch /n gemacht. Deshalb dachte ich, dass er das \n nicht als zeilenumbruch in der .con wiedergibt, sondern nur in der txtdatei.
Egal auf jedenfall klappt es jetzt thx.
Egal auf jedenfall klappt es jetzt thx.