Remplacer la chaîne dans le fichier à l'aide de Python

Vaibhhav Khetarpal 10 octobre 2023
  1. Utilisez la fonction replace() lorsque les fichiers d’entrée et de sortie sont différents
  2. Utilisez la fonction replace() lorsqu’un seul fichier est utilisé pour l’entrée et la sortie
Remplacer la chaîne dans le fichier à l'aide de Python

La gestion des fichiers est un aspect essentiel de toute application Web. Python, similaire à d’autres langages de programmation, prend en charge la gestion des fichiers. Il permet aux programmeurs de traiter les fichiers et d’effectuer essentiellement certaines opérations de base telles que la lecture, l’écriture et d’autres options de gestion de fichiers pour opérer sur les fichiers.

La fonction open() peut être utilisée pour ouvrir un fichier dans le programme Python. Le fichier peut être ouvert en mode texte ou binaire qui est décidé par l’utilisateur. La fonction open() a plusieurs modes, qui offrent tous différentes options d’accessibilité pour le fichier à ouvrir.

Le terme String en Python peut être décrit comme un groupe de caractères Unicode entourés de guillemets simples ou doubles. Les chaînes peuvent être contenues dans les fichiers texte qui doivent être ouverts dans le code Python.

Ce tutoriel abordera différentes méthodes pour remplacer une chaîne dans un fichier en Python.

Utilisez la fonction replace() lorsque les fichiers d’entrée et de sortie sont différents

La méthode replace() en Python est utilisée pour rechercher une sous-chaîne et la remplacer par une autre sous-chaîne.

La fonction replace() a trois paramètres, à savoir oldvalue, newvalue et count. oldvalue et newvalue sont des valeurs obligatoires, et fournir à la fonction le paramètre count est facultatif.

Le code suivant utilise la fonction replace() pour remplacer une chaîne en Python lorsque les fichiers d’entrée et de sortie sont différents.

# 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()

Dans la sortie du code ci-dessus, la chaîne gode dans le fichier sera remplacée par le mot God.

Dans le code ci-dessus, nous travaillons simultanément sur deux fichiers différents, f1.txt et f2.txt. f1.txt est ouvert en mode lecture de texte rt et est référencé à end. f2.txt est ouvert en mode d’écriture de texte wt et est référencé à fout. Ensuite, la boucle for est itérée, et pour chaque occurrence de la chaîne gode dans le fichier, elle est remplacée par le mot God. Les deux fichiers sont ensuite fermés après les opérations nécessaires à l’aide de la fonction close().

Utilisez la fonction replace() lorsqu’un seul fichier est utilisé pour l’entrée et la sortie

Dans cette méthode, le même fichier est utilisé à la fois en entrée et en sortie.

Nous utilisons ici l’instruction with avec la fonction replace(). Le gestionnaire de contexte with a une fonction fondamentale : rendre le programme plus court et beaucoup plus lisible.

Lorsque nous utilisons l’instruction with avec la gestion des fichiers, le fichier que nous avons ouvert dans le code Python n’a pas besoin d’être fermé manuellement ; il se ferme automatiquement après la fin du bloc with.

Le code suivant utilise la fonction replace() pour remplacer une chaîne en Python lorsque le fichier d’entrée et de sortie est le même.

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)

Le code suivant prend file1 comme fichier d’entrée et de sortie. Tout d’abord, le fichier est ouvert en mode lecture de texte rt, et le contenu du fichier est lu et stocké dans une variable. Ensuite, le fichier est fermé et ouvert à nouveau, mais en mode d’écriture de texte wt cette fois. La chaîne est remplacée et les données sont écrites dans ce mode, puis le fichier est fermé.

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

Article connexe - Python File

Article connexe - Python String