Und funktionieren tut das ganze nicht, weil `in_block` in der Methode lokal ist und nach Abarbeitung der Methode verschwindet. Das ganze an dieser Stelle in auseinander zu nehmen und einen Teil in eine Funktion zu stecken ist etwas ungünstig. Wenn Du die Funktion mit den Zeilen von den Dateien entkoppeln willst, würde ich eine Generatorfunktion vorschlagen.
Code: Alles auswählen
def process_lines(lines):
in_block = False
for line in lines:
if 'Anfang' in line and 'Zusatz' in line:
in_block = True
if 'Ende' in line:
in_block = False
if in_block:
line = line.strip() + ' '
yield line
def main():
in_file = open('test.txt', 'r')
out_file = open('test2.txt', 'w')
out_file.writelines(process_lines(in_file))
in_file.close()
out_file.close()