Eine Zeile an den Anfang einer Datei anhängen
Das Ändern des Anfangs einer Datei kann eine Herausforderung sein, insbesondere wenn die Datei groß ist. Traditionell wurde als Workaround eine separate Datei verwendet. Es gibt jedoch effizientere Möglichkeiten, dies mit Python zu erreichen.
Dateimodi verstehen
Beim Öffnen einer Datei im Anhängemodus ('a') ist jede Schreibweise zulässig an das Ende der Datei gerichtet, unabhängig von der aktuellen Position des Dateizeigers. Dies ist problematisch, wenn versucht wird, den Anfang der Datei zu ändern.
Lösung 1: Laden der Datei in den Speicher
Bei kleineren Dateien, die in den Speicher geladen werden können, ist die Der folgende Codeausschnitt kann 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>
Diese Methode liest die gesamte Datei in den Speicher, hängt die neue Zeile an den Anfang und schreibt die Datei neu.
Lösung 2: Fileinput verwenden
Bei größeren Dateien kann das Fileinput-Modul nützlich sein:
<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 ist bei großen Dateien effizienter, da nicht die gesamte Datei in den Speicher geladen wird. Es durchläuft die Datei Zeile für Zeile, druckt die neue Zeile am Anfang der ersten Zeile und die restlichen Zeilen unverändert. Beachten Sie, dass diese Methode erfordert, dass die Datei beschreibbar ist.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient eine Zeile am Anfang einer Datei hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!