So lesen Sie eine Datei in Python, ohne Zeilenumbrüche beizubehalten
In Python lesen Sie eine Datei mit open(filename, 'r'). readlines() liefert eine Liste von Strings mit Newline-Zeichen am Ende. Dieses Verhalten kann in manchen Fällen unerwünscht sein. In diesem Artikel werden verschiedene Methoden zum Lesen einer Datei ohne Zeilenumbrüche untersucht.
Methode 1: Verwendung von str.splitlines()
Diese Methode liest die gesamte Datei in einen String und teilt es mit der Funktion str.splitlines() in einzelne Zeilen auf. Das Ergebnis ist eine Liste von Zeichenfolgen ohne Zeilenumbrüche:
temp = file.read().splitlines()
Methode 2: Zeilenumbrüche manuell entfernen
Wenn die Listenverständnis- und Slicing-Methode bevorzugt wird, verwenden Sie den folgenden Ansatz kann verwendet werden:
temp = [line[:-1] for line in file]
Diese Lösung geht jedoch davon aus, dass die Datei mit einem Zeilenumbruchzeichen endet. Wenn nicht, verliert die letzte Zeile ihr letztes Zeichen.
Methode 3: Hinzufügen einer neuen Zeile am Ende der Datei
Um den Verlust des letzten Zeichens zu vermeiden, kann eine neue Zeile eingefügt werden Vor dem Lesen am Ende der Datei hinzugefügt:
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]
Methode 4: Verwenden rstrip()
Diese Methode bietet eine Alternative zum manuellen Entfernen der Zeilenumbrüche:
[line.rstrip('\n') for line in file]
Methode 5: Bedingtes Slicing verwenden
Obwohl weniger lesbar, nutzt diese Methode die boolesche Auswertung von or Operator:
[line[:-(line[-1] == '\n') or len(line)+1] for line in file]
Hinweis: Die readlines()-Methode in Python behält die Zeilenumbrüche in der zurückgegebenen Liste von Zeichenfolgen bei, da readline() selbst sie beibehält.
Das obige ist der detaillierte Inhalt vonWie lese ich eine Datei in Python ohne Zeilenumbrüche?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!