Seite 1 von 1
					
				Strings in eine Datei schreiben und anhängen
				Verfasst: Dienstag 15. März 2005, 16:16
				von sunnyi
				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?
			 
			
					
				
				Verfasst: Dienstag 15. März 2005, 16:17
				von jens
				mit "a"-append die Datei öffnen:
 
			
					
				
				Verfasst: Dienstag 15. März 2005, 16:30
				von sunnyi
				Ups -
a wie append
Danke vielmals
			 
			
					
				
				Verfasst: Dienstag 15. März 2005, 16:39
				von sunnyi
				Hallo jens,
und wie macht man bei append, dass jede Eingabe in eine separate Zeile geschrieben wird?
			 
			
					
				
				Verfasst: Dienstag 15. März 2005, 16:45
				von jens
				Hänge an deinen String bzw. an die Eingabe ein "\n" Newline-Zeichen dran...
Zeigt doch mal dein Source-Code...
			 
			
					
				
				Verfasst: Dienstag 15. März 2005, 16:51
				von sunnyi
				Code: Alles auswählen
answer=raw_input("Text-Eingabe: ")
f = file( "datei.txt", "a" )
f.writelines( answer )
f.close()
 
			
					
				
				Verfasst: Dienstag 15. März 2005, 16:56
				von jens
				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()
 
			
					
				
				Verfasst: Dienstag 15. März 2005, 17:00
				von sunnyi
				Yep so geht es,
Ich dachte erst writelines macht das von alleine?
Na dann danke für die Hilfe
			 
			
					
				
				Verfasst: Dienstag 15. März 2005, 17:03
				von jens
				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.
 
			
					
				
				Verfasst: Dienstag 15. März 2005, 17:16
				von sunnyi
				Klar, sonst kommt der nächste und will am Zeilenende anhängen.  

 
			
					
				
				Verfasst: Dienstag 15. März 2005, 17:51
				von CM
				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
			 
			
					
				
				Verfasst: Mittwoch 16. März 2005, 12:05
				von sunnyi
				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