Ich habe eine Testdatei mit vielen Zeilen. Ich möchte Zeilen mit einem bestimmten Anfangs- und Endezeichen löschen.So löschen Sie bestimmte Zeilen einer Datei, die mit bestimmten Zeichen beginnt und endet
hier ist mein Code:
with open('test.txt', 'r') as f, open('output.txt', 'w') as out:
for i, line in enumerate(f):
if (line.startswith('E3T') and line.endswith('3')):
out.write(line)
elif (line.startswith('E4Q') and line.endswith('3')):
out.write(line)
elif (line.startswith('E4Q') and line.endswith('4')):
out.write(line)
elif (line.startswith('E4Q') and line.endswith('3')):
out.write(line)
elif line.startswith('BC'):
break
dies meine test.txt Datei ist
E3T 1 2 1 3 3
E3T 2 4 2 5 1
E3T 3 3 5 2 4
E3T 3326 2001 2008 1866 10
E4Q 3327 1869 2013 2011 1867 9
E4Q 3328 1867 2011 2012 1868 8
E4Q 3329 1870 2014 2013 1869 4
E3T 8542 4907 4908 4760 5
E3T 8543 4768 4909 4761 9
E3T 8544 4909 4763 4761 6
E3T 17203 9957 9964 10161 3
E3T 17204 9957 10161 9959 2
BC 1 "Zulauf: Temperatur" 12 0 1 "HYDRO_WT-2D"
BC_DEF 12 1 "Temperatur [°C]" 5 "Zeit [s]" "Temperatur [°C]"
Und die Ausgabe wie folgt sein sollte:
E3T 1 2 1 3 3
E3T 3 3 5 2 4
E4Q 3329 1870 2014 2013 1869 4
E3T 17203 9957 9964 10161 3
Ich denke, es tut wegen der Räume nicht arbeiten. Gibt es irgendeine pythonische Art, dies zu tun, oder muss ich die Zeilen aufteilen und dann die ersten und letzten Zeichen vergleichen?
Sie für die Lösung danken! Was soll ich tun, wenn ich den Rest der Zeilen schreiben will und nicht breche! Das bedeutet, dass der Rest der Datei genauso wie die Eingabedatei sein sollte! –
Siehe Bearbeiten. –