Heim >Backend-Entwicklung >Python-Tutorial >Kann ich Dateizeilen während der Iteration in Python direkt ändern?

Kann ich Dateizeilen während der Iteration in Python direkt ändern?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-04 13:24:11752Durchsuche

Can I Modify File Lines In-Place While Iterating in Python?

Zeilen in einer Datei direkt ändern

Ist es möglich, eine Datei Zeile für Zeile nacheinander zu analysieren und dabei Zeilen direkt zu ändern? Iterieren durch die Datei?

Antwort:

Ja, dies kann durch die Verwendung einer Sicherungsdatei simuliert werden, wie sie im Fileinput-Modul innerhalb der Python-Standardbibliothek implementiert ist.

Beispielcode:

Betrachten Sie das folgende Skript, das Zeilen entfernt, die dies nicht tun Erfüllen Sie eine bestimmte Bedingung, die von der Funktion some_condition aus bereitgestellten Dateien oder Standardeingaben angegeben wird:

#!/usr/bin/env python
# grep_some_condition.py
import fileinput

for line in fileinput.input(inplace=True, backup='.bak'):
    if some_condition(line):
        print(line, end="")  # This outputs modified lines to the current file

Verwendungsbeispiel:

Um dieses Skript zu verwenden, führen Sie den folgenden Befehl aus:

$ python grep_some_condition.py first_file.txt second_file.txt

Bei der Ausführung werden sowohl „first_file.txt“ als auch „second_file.txt“ so geändert, dass sie nur Zeilen enthalten, die die Anforderungen erfüllen some_condition-Prädikat.

Das obige ist der detaillierte Inhalt vonKann ich Dateizeilen während der Iteration in Python direkt ändern?. 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