Wie entferne ich das Zeilenumbruchzeichen (\\n) beim Lesen von Zeilen aus einer Datei
📁 Python, KI
Bei Verwendung von file.readlines() erhält man etwa Folgendes:
>>> file.readlines()['12', '10', '9', '15', '10', '120']Wie entferne ich ?
Als Knie-Lösung, die buchstäblich die im Frage genannte Aufgabe erfüllt: Man kann eine Klasse erstellen, die zwei Dateiobjekte akzeptiert, und beim Schreiben in ein Objekt dieser Klasse wird in beide Dateiobjekte geschrieben.
from __future__ import print_functionimport sys class DoubleWrite: def __init__(self, file1, file2): self.file1 = file1 self.file2 = file2 def write(self, s): self.file1.write(s) self.file2.write(s) def flush(self): self.file1.flush() self.file2.flush() def close(self): self.file1.close() self.file2.close()Damit kann man dann z.B. so arbeiten:
import syswith open('log.txt', 'w') as f1, open('log2.txt', 'w') as f2: dw = DoubleWrite(f1, f2) print('Hallo Welt', file=dw) print('Noch eine Zeile', file=dw)In diesem Fall wird der Text in beide Dateien geschrieben. Die flush- und close-Methoden sind für die korrekte Verwendung mit dem with-Statement definiert.
Anmelden um eine Antwort zu hinterlassen