Heim >Backend-Entwicklung >Python-Tutorial >Wie ersetze ich eine bestimmte Zeile in einer Textdatei mit Python?

Wie ersetze ich eine bestimmte Zeile in einer Textdatei mit Python?

DDD
DDDOriginal
2024-11-14 19:14:01700Durchsuche

How to Replace a Specific Line in a Text File Using Python?

Bearbeiten einer bestimmten Zeile in einer Textdatei in Python

In diesem Szenario haben Sie eine Textdatei mit mehreren Zeilen und möchten dies tun Ersetzen Sie eine bestimmte Zeile durch einen neuen Wert. Obwohl der bereitgestellte Python-Code versucht, eine Zeile zu ändern, ist dies falsch. Hier ist ein effizienterer Ansatz:

# Open the file for reading
with open('stats.txt', 'r') as file:
    # Read the file into a list of lines
    data = file.readlines()

# Print the data to verify its current state
print(data)

# Get the specific line you want to modify
line_to_edit = 1  # Index starts from 0

# Replace the old line with the new value
data[line_to_edit] = 'Mage\n'  # Add a newline character at the end

# Open the file for writing and overwrite the contents
with open('stats.txt', 'w') as file:
    # Write the updated data back to the file
    file.writelines(data)

Dieser Ansatz verwendet die Funktion readlines(), um alle Zeilen in eine Liste einzulesen. Anschließend können Sie über den Index direkt auf die gewünschte Zeile zugreifen (beachten Sie, dass die Indizierung bei 0 beginnt). Sobald die spezifische Zeile geändert wurde, wird die gesamte Liste mit writelines() in die Datei zurückgeschrieben.

Diese Methode ist effizient, da sie die gesamte Datei in den Speicher liest, sodass Sie bestimmte Zeilen frei ändern und überschreiben können. Im Gegensatz zum Originalcode wird nicht versucht, einzelne Zeilen direkt zu überschreiben, was zu falschen Ergebnissen führen könnte.

Das obige ist der detaillierte Inhalt vonWie ersetze ich eine bestimmte Zeile in einer Textdatei mit Python?. 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