Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Zeilen in einer Datei effizient direkt ändern, ohne eine temporäre Datei zu erstellen?
Zeilen in einer Datei direkt ändern
Ist es möglich, eine Datei Zeile für Zeile effizient zu analysieren und bestimmte Zeilen zu ändern, ohne eine Datei zu erstellen? Kopie oder vorübergehend Datei?
Antwort:
Ja, es ist möglich, die In-Place-Bearbeitung mithilfe einer Sicherungsdatei zu simulieren. Das Fileinput-Modul stellt hierfür die notwendige Funktionalität bereit.
Beispiel:
Stellen Sie sich ein Skript vor, das Zeilen, die eine bestimmte Bedingung nicht erfüllen, aus Dateien entfernt, die als Befehlszeilenargumente bereitgestellt werden oder stdin:
import fileinput for line in fileinput.input(inplace=True, backup='.bak'): if some_condition(line): print(line) # The modified line is output to the current file
Verwendung:
An Um Zeilen, die some_condition nicht erfüllen, aus first_file.txt und second_file.txt zu entfernen, führen Sie den folgenden Befehl aus:
python grep_some_condition.py first_file.txt second_file.txt
Nach Abschluss enthalten first_file.txt und second_file.txt nur Zeilen, die das Prädikat some_condition() erfüllen.
Dieser Ansatz gewährleistet eine effiziente In-Place-Änderung, indem während des Bearbeitungsprozesses eine Sicherungsdatei .bak erstellt wird und die Originaldatei erhalten bleibt Es treten Fehler auf.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen in einer Datei effizient direkt ändern, ohne eine temporäre Datei zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!