Wie stelle ich in Python eine Zeile an den Anfang einer Datei voran?

Linda Hamilton
Freigeben: 2024-11-02 10:50:30
Original
479 Leute haben es durchsucht

How to Prepend a Line to the Beginning of a File in Python?

Inplace-Voranstellung an den Anfang einer Datei

Beim Versuch, eine Zeile mithilfe des Anhängemodus an den Anfang einer Datei anzuhängen (' a') kann es bei Benutzern zu unerwünschtem Schreiben am Ende der Datei kommen, da der Dateizeiger automatisch zum Ende vorrückt.

Um diese Einschränkung zu überwinden und tatsächlich eine Zeile am Anfang der Datei voranzustellen, können verschiedene Methoden eingesetzt werden :

Methode 1: Datei lesen und neu schreiben

Wenn das Laden der gesamten Datei in den Speicher möglich ist, kann die folgende Funktion verwendet werden:

<code class="python">def line_prepender(filename, line):
    with open(filename, 'r+') as f:
        content = f.read()
        f.seek(0, 0)
        f.write(line.rstrip('\r\n') + '\n' + content)</code>
Nach dem Login kopieren

Dieser Ansatz lädt den Inhalt der Datei in den variablen Inhalt, sodass die Zeile vorangestellt und der geänderte Inhalt an den Anfang der Datei neu geschrieben werden kann.

Methode 2: Verwenden der Dateieingabe Modul

Ein alternativer Ansatz besteht in der Verwendung des Dateieingabemoduls:

<code class="python">def line_pre_adder(filename, line_to_prepend):
    f = fileinput.input(filename, inplace=1)
    for xline in f:
        if f.isfirstline():
            print line_to_prepend.rstrip('\r\n') + '\n' + xline,
        else:
            print xline,</code>
Nach dem Login kopieren

Diese Methode iteriert über die Zeilen der Datei und stellt beim Auftreffen auf die erste Zeile die angegebene Zeile davor voran Drucken beider Zeilen.

Der genaue Mechanismus dieser Methode ist nicht ganz klar, aber sie ermöglicht die direkte Bearbeitung der Datei, ohne dass der gesamte Inhalt in den Speicher geladen werden muss, wodurch sie möglicherweise für größere Dateien geeignet ist.

Das obige ist der detaillierte Inhalt vonWie stelle ich in Python eine Zeile an den Anfang einer Datei voran?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage