Seite 1 von 1

Leere Lines bei der Ausgabe vermeiden

Verfasst: Donnerstag 10. April 2014, 10:02
von milexy86
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!

Re: Leere Lines bei der Ausgabe vermeiden

Verfasst: Donnerstag 10. April 2014, 10:09
von BlackJack
@milexy86: Offenbar sind in `result` diese Leerzeilen enthalten. Die müsstest Du halt entfernen. Zum Beispiel vor dem Aufteilen in Zeilen mit `strip()`.