Leere Lines bei der Ausgabe vermeiden

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
milexy86
User
Beiträge: 22
Registriert: Freitag 7. Februar 2014, 16:33

Hallo, ich habe folgenden ganz simplen Code:

Code: Alles auswählen

with  open("textfile.txt", "r") as infile, open("outputfile.txt", 'w') as outfile: 

	contents = infile.read()
	#Die folgenden zwei lines werden statisch in outputfile.txt ausgegeben, soweit OK! 
              outfile.write("Hier schreibe ich meine erste Zeile" + '\n')
              outfile.write("Hier schreibe ich meine zweite Zeile" + '\n')	
	
              #Dieser teil sucht im „textfile.txt“ nach bestimmten Strings und gibt diese aus
	for result in re.findall('cpp_source_files(.*?)\}', contents, re.S):
		for line in result.split('\n'):
			if not re.search('(ABC|XYZ)', line):
				outfile.write(line.strip().replace('{','') + '\n')
	
             #Dannach sollen wieder statisch festgelegte lines ausgegeben werden
	outfile.write("Hier wird wieder eine Zeile ausgegeben" + '\n')
	outfile.write("und hier wird nochmal eine Zeile ausgegeben" + '\n')


Die Ausgabe sieht folgendermassen aus

Code: Alles auswählen

Hier schreibe ich meine erste Zeile 
Hier schreibe ich meine zweite Zeile

Hier wird der gefundene String ausgegeben

Hier wird wieder eine Zeile ausgegeben
und hier wird nochmal eine Zeile ausgegeben
Die Frage ist, wie verhindere ich das diese leere Zeilen bei der Ausgabe entstehen? Bin dankbar für jede Info!
BlackJack

@milexy86: Offenbar sind in `result` diese Leerzeilen enthalten. Die müsstest Du halt entfernen. Zum Beispiel vor dem Aufteilen in Zeilen mit `strip()`.
Antworten