in Datei Schreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lilhill2002
User
Beiträge: 17
Registriert: Donnerstag 9. November 2006, 18:33

Samstag 12. Mai 2007, 00:09

hi @ll habe folgende Problem
wenn ich die Zeilen in mein Datei schreibe schreibt er die zeilen alle Hintereinander ich will die aber unter einander haben könnt ihr mir helfen? bitte?

Code: Alles auswählen

# -*- coding: utf-8 -*-

import re


fileh = file('test.txt', 'r')


zerteilung = '(.*) text=(.*)'

# zB. "Bertolt Brecht" text="Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren."

prog = re.compile(zerteilung)
schreiben = file('text.txt', 'w')



while True:
        line = fileh.readline()
        if not line: break
        
        try:
        	result = prog.match(line)
		zitat = result.group(2)
	        print zitat
		schreiben.write(zitat,)


	except :
    		print 'Fehler'


schreiben.close()
fileh.close()
kbrust
User
Beiträge: 11
Registriert: Montag 9. Oktober 2006, 11:53
Kontaktdaten:

Samstag 12. Mai 2007, 00:47

Einfach ein Newline-Zeichen mit einfügen, z.B.

Code: Alles auswählen

schreiben.write(zitat+"\n")
lilhill2002
User
Beiträge: 17
Registriert: Donnerstag 9. November 2006, 18:33

Samstag 12. Mai 2007, 09:30

vielen Dank das hat supper geklappt.

hatte das auch gestern schon versucht aber anstatt "+" hatte ich ","
Danke dir :P
BlackJack

Samstag 12. Mai 2007, 10:20

Dateiobjekte sind "iterable", dass heisst man kann sie in einer Schleife benutzen:

Code: Alles auswählen

for line in fileh:
    result = prog.match(line)
    if result:
        zitat = result.group(2)
        print zitat
        schreiben.write(zitat + '\n')
Und man sollte kein ``except`` ohne eine konkrete Ausnahme benutzen, sonst "verschluckt" die Ausnahmebehandlung einfach alles und das kann bei Fehlern dazu führen, dass man sie nur sehr schwer findet, weil die nötigen Informationen unterdrückt werden.
Antworten