Heim >Backend-Entwicklung >Python-Tutorial >Wie füge ich in Python eine Zeile am Anfang einer Datei hinzu?

Wie füge ich in Python eine Zeile am Anfang einer Datei hinzu?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 03:58:02286Durchsuche

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

So fügen Sie eine Zeile am Anfang einer Datei hinzu

Angenommen, Sie möchten eine Zeile am Anfang einer Datei hinzufügen, verwenden aber den Standard-Anhängemodus in Python, die Zeile wird an das Ende der Datei angehängt. Wie können Sie das erreichen?

Implementierung

Es gibt zwei Möglichkeiten, dies zu erreichen:

1. Weg (Memory Intensive):

<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>

Bei dieser Methode wird die gesamte Datei in den Speicher eingelesen, eine Zeile am Anfang hinzugefügt und dann wird der geänderte Inhalt wieder in die Datei überschrieben.

2. Möglichkeit (Streaming):

<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, end='')
        else:
            print(xline, end='')</code>

Diese Methode streamt die Datei Zeile für Zeile und überschreibt dabei die Originaldatei. Es verwendet das Dateieingabemodul, um die Zeilen zu durchlaufen und fügt die angegebene Zeile am Anfang der ersten Zeile ein.

Die Wahl der Methode hängt von der Dateigröße und dem verfügbaren Speicher ab. Der 2. Weg wird für große Dateien bevorzugt, um Speicherprobleme zu vermeiden.

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

Stellungnahme:
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