Hallo,
ich versuche gerade Strings mittels Eingabe, in eine Datei zu schreiben. Wenn ich die zweite Eingabe mache, wird der erste String in der Datei wieder überschrieben.
ich möchte aber, dass der nächste Strings angehängt wird.
Kann mir jemand helfen?
Strings in eine Datei schreiben und anhängen
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
mit "a"-append die Datei öffnen:
Code: Alles auswählen
f = file("datei.txt", "a")
Code: Alles auswählen
answer=raw_input("Text-Eingabe: ")
f = file( "datei.txt", "a" )
f.writelines( answer )
f.close()
l | g
sunnyi
sunnyi
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
So sollte es gehen... obwohl scheibt write() schon selber ein "\n"? Weiß ich jetzt nicht... Wenn du eine leerzeile in der Datei hast, dann ja

Code: Alles auswählen
answer=raw_input("Text-Eingabe: ")
f = file( "datei.txt", "a" )
f.write( answer + "\n" )
f.close()
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Tut's nicht: http://python.org/doc/lib/bltin-file-ob ... ml#l2h-250
Write a sequence of strings to the file [...] does not add line separators.
Das darfst Du auch als Angebot an Dich, den Programmierer, verstehen: Für welches Betriebssystem soll beispielsweise Deine Datei wie erscheinen?
In anderen Programmiersprachen, beispielsweise C, worauf Python ja basiert, ist der Programmierer ebenfalls gezwungen Newline-Charaktere anzuhängen.
Hier wie dort ist ein weiterer Grund, daß Du ja nicht beim Einlesen eines Strings immer vorher weißt, wo der terminierende Charakter stehen soll - auf diese Weise kannst Du das entscheiden ohne, daß Du erst solche Zeichen rausfiltern, komplizierte Stringoperationen machen und dann wieder anhängen mußt.
Das alles nur nebenbei ...
Gruß,
Christian
In anderen Programmiersprachen, beispielsweise C, worauf Python ja basiert, ist der Programmierer ebenfalls gezwungen Newline-Charaktere anzuhängen.
Hier wie dort ist ein weiterer Grund, daß Du ja nicht beim Einlesen eines Strings immer vorher weißt, wo der terminierende Charakter stehen soll - auf diese Weise kannst Du das entscheiden ohne, daß Du erst solche Zeichen rausfiltern, komplizierte Stringoperationen machen und dann wieder anhängen mußt.
Das alles nur nebenbei ...
Gruß,
Christian
Klar Christian,
Ich bin zur Zeit eben erstmal damit beschäftigt, mich in die syntaktischen Gegebenheiten einzuarbeiten.
Manche Dinge sind in Python wesentlich leichter als in anderen Sprachen.
Naja -
Ich arbeite daran
Ich bin zur Zeit eben erstmal damit beschäftigt, mich in die syntaktischen Gegebenheiten einzuarbeiten.
Manche Dinge sind in Python wesentlich leichter als in anderen Sprachen.
Naja -
Ich arbeite daran
l | g
sunnyi
sunnyi