Avatar ·

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 ?

Avatar ·

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

Blogs