String in Datei mit Python ersetzen

Vaibhhav Khetarpal 10 Oktober 2023
  1. Verwenden Sie die Funktion replace(), wenn Eingabe- und Ausgabedateien unterschiedlich sind
  2. Verwenden Sie die Funktion replace(), wenn nur eine Datei für die Eingabe und Ausgabe verwendet wird
String in Datei mit Python ersetzen

Das Dateihandling ist ein wesentlicher Aspekt jeder Webanwendung. Python unterstützt, ähnlich wie andere Programmiersprachen, das Dateihandling. Es ermöglicht den Programmierern, mit Dateien umzugehen und im Wesentlichen einige grundlegende Operationen wie Lesen, Schreiben und einige andere Dateibehandlungsoptionen durchzuführen, um mit Dateien zu arbeiten.

Mit der Funktion open() kann eine Datei im Python-Programm geöffnet werden. Die Datei kann entweder im Text- oder im Binärmodus geöffnet werden, was vom Benutzer festgelegt wird. Die Funktion open() verfügt über mehrere Modi, die alle unterschiedliche Zugriffsmöglichkeiten für die zu öffnende Datei bieten.

Der Begriff String in Python kann als eine Ansammlung von Unicode-Zeichen beschrieben werden, die in einfache oder doppelte Anführungszeichen eingeschlossen sind. Strings können in den Textdateien enthalten sein, die im Python-Code geöffnet werden sollen.

In diesem Tutorial werden verschiedene Methoden zum Ersetzen einer Zeichenkette in einer Datei in Python erläutert.

Verwenden Sie die Funktion replace(), wenn Eingabe- und Ausgabedateien unterschiedlich sind

Die Methode replace() in Python wird verwendet, um nach einem Teilstring zu suchen und ihn durch einen anderen Teilstring zu ersetzen.

Die Funktion replace() hat drei Parameter, nämlich oldvalue, newvalue und count. Sowohl oldvalue als auch newvalue sind Pflichtwerte und die Angabe des Parameters count ist optional.

Der folgende Code verwendet die Funktion replace(), um einen String in Python zu ersetzen, wenn Eingabe- und Ausgabedateien unterschiedlich sind.

# the input file
fin = open("f1.txt", "rt")
# the output file which stores result
fout = open("f2.txt", "wt")
# iteration for each line in the input file
for line in fin:
    # replacing the string and write to output file
    fout.write(line.replace("gode", "God"))
# closing the input and output files
fin.close()
fout.close()

In der Ausgabe des obigen Codes wird die Zeichenkette gode in der Datei durch das Wort God ersetzt.

Im obigen Code arbeiten wir gleichzeitig an zwei verschiedenen Dateien, f1.txt und f2.txt. f1.txt wird im Lesemodus rt geöffnet und auf end referenziert. f2.txt wird im Schreibmodus wt geöffnet und auf fout referenziert. Dann wird die for-Schleife iteriert und für jedes Vorkommen der Zeichenkette gode in der Datei durch das Wort God ersetzt. Beide Dateien werden dann nach den notwendigen Operationen mit Hilfe der Funktion close() geschlossen.

Verwenden Sie die Funktion replace(), wenn nur eine Datei für die Eingabe und Ausgabe verwendet wird

Bei dieser Methode wird dieselbe Datei sowohl als Eingabe als auch als Ausgabe verwendet.

Wir verwenden hier die Anweisung with zusammen mit der Funktion replace(). Der Kontextmanager with hat eine grundlegende Funktion: das Programm kürzer und viel lesbarer zu machen.

Wenn wir die with-Anweisung mit File-Handling verwenden, muss die Datei, die wir im Python-Code geöffnet haben, nicht manuell geschlossen werden; es schließt sich automatisch, nachdem der with-Block beendet ist.

Der folgende Code verwendet die Funktion replace(), um einen String in Python zu ersetzen, wenn die Eingabe- und Ausgabedatei gleich ist.

with open("file1.txt", "rt") as file:
    x = file.read()

with open("file1.txt", "wt") as file:
    x = x.replace("gode", "God")
    fin.write(x)

Der folgende Code verwendet file1 sowohl als Eingabe- als auch als Ausgabedatei. Zunächst wird die Datei im Lesemodus rt geöffnet, der Inhalt der Datei gelesen und in einer Variablen gespeichert. Dann wird die Datei geschlossen und wieder geöffnet, diesmal jedoch im Textschreibmodus wt. Der String wird ersetzt und die Daten werden in diesem Modus geschrieben und dann wird die Datei geschlossen.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Verwandter Artikel - Python File

Verwandter Artikel - Python String