Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Zeilenumbrüche effizient aus den mit Pythons „readlines()' gelesenen Dateidaten entfernen?
Neue Zeilen aus Dateidaten in Python entfernen
Beim Lesen einer Datei in Python mit der Methode readlines() enthalten die resultierenden Listenelemente Zeilenumbrüche Am Ende. Um diese Zeilenumbrüche zu beseitigen, stehen mehrere Ansätze zur Verfügung.
Eine Methode besteht darin, die Funktion „splitlines()“ von string zu verwenden, um Zeilen in Zeilenumbrüchen zu teilen, nachdem die gesamte Datei gelesen wurde:
temp = file.read().splitlines()
Alternativ können Sie dies tun Entfernen Sie die Zeilenumbrüche manuell:
temp = [line[:-1] for line in file]
Hinweis: Bei dieser Methode wird davon ausgegangen, dass die Datei mit einem Zeilenumbruch endet. andernfalls wird die letzte Zeile abgeschnitten.
Um sicherzustellen, dass ein abschließender Zeilenumbruch vorhanden ist, können Sie einen manuell hinzufügen:
with open(the_file, 'r+') as f: f.seek(-1, 2) if f.read(1) != '\n': f.write('\n') f.flush() f.seek(0) lines = [line[:-1] for line in f]
Eine andere Möglichkeit besteht darin, Strip() zum Entfernen von Zeilenumbrüchen zu verwenden :
[line.rstrip('\n') for line in file]
Der Prägnanz halber können Sie auch Folgendes verwenden Ansatz:
[line[:-(line[-1] == '\n') or len(line)+1] for line in file]
Readlines() verstehen
Die readlines()-Methode iteriert über readline(), das Zeilenumbrüche einschließt. Dies gilt auch für readlines(). Aus Konsistenzgründen fügt writelines() keine Zeilenumbrüche hinzu, um sicherzustellen, dass bei Verwendung beider Methoden eine exakte Kopie erstellt wird.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeilenumbrüche effizient aus den mit Pythons „readlines()' gelesenen Dateidaten entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!