Ich würde gerne jede Datei durchlaufen, trimmen die Leerzeichen für jede Zeile, und löschen Sie die Zeile, wenn die zurückgegebene Zeichenfolge leer ist. Gibt es eine Möglichkeit zu vermeiden, den .strip() - Aufruf in der Liste Verständnis unten zu duplizieren? Es ist nicht leistungskritisch, aber es fühlt sich falsch an.Vermeiden von doppelten Funktionsaufruf in List Comprehension in Python
sub main():
fname = "foo.txt"
lns = []
with open(fname, 'r') as file:
lns = file.readlines()
newlns = [i.strip() + "\n" for i in lns if i.strip()]
#I want this to look like the following, which doesn't work:
#newlns = [y + "\n" for i in lns if i.strip() as y]
with open("out.txt", 'w') as file:
file.writelines(newlns)
Danke für das Aufzeigen, dass ich den .readlines() Anruf nicht benötige! –