Besoin de modifier plusieurs fichiers texte en même temps? Par exemple, modifiez l'orthographe britannique de tous les documents en orthographe américaine. Cet article montrera comment utiliser Python pour terminer efficacement cette tâche.
Supposons que vous ayez cinq fichiers texte, tous mis en détour " world " comme " wolrd ". Nous utiliserons les scripts Python pour corriger l'orthographe des mots dans tous ces fichiers.
Tout d'abord, préparez les données à traiter (fichier texte). Ce tutoriel crée un répertoire appelé " Bonjour " qui contient plusieurs fichiers et sous-répertoires, ainsi que des fichiers texte nommés 1.txt , 2.txt , 3.txt , 4.txt , et 5.txt .
Bien que la fonction que nous utilisons parviendra à travers tous les fichiers du répertoire, vous pouvez ajouter des instructions conditionnelles dans votre code pour gérer uniquement les fichiers qui doivent être modifiés.
Ensuite, lisez le contenu du répertoire " Hello ". Vous pouvez utiliser la boucle for-in
pour combiner la méthode is_file()
et la méthode startswith()
pour lire et écrire le fichier cible uniquement.
Nous ouvrons le fichier en mode r
pour lire le contenu du fichier et écrire dans le fichier après avoir apporté les modifications nécessaires.
if not item.name.startswith('.') and item.is_file(): with open(item, mode="r+") as file: file_text = file.read()
L'étape de clé consiste à rechercher " wolrd " en utilisant l'expression régulière. Dans Python, utilisez re.compile()
pour compiler des expressions régulières:
Compiler le modèle d'expression régulière dans un objet d'expression régulière et peut être apparié en utilisant sa méthode
search()
.
Ensuite, utilisez la méthode sub()
pour remplacer la mauvaise orthographe par l'orthographe correcte:
regex = re.compile('Wolrd') file_text = regex.sub('World', file_text)
Enfin, écrivez le nouveau texte remplacé dans le fichier:
file.seek(0) file.write(file_text)
Le script Python complet est le suivant, qui recherchera " wolrd " dans chaque fichier et le remplacera par " monde ":
import os, re with os.scandir('hello') as directory: for item in directory: if not item.name.startswith('.') and item.is_file(): with open(item, mode="r+") as file: file_text = file.read() regex = re.compile('Wolrd') file_text = regex.sub('World', file_text) file.seek(0) file.write(file_text)
Comme vous pouvez le voir, Python utilise la boucle for
pour modifier facilement plusieurs fichiers. Il est important de se rappeler que l'utilisation d'expressions régulières pour l'appariement des motifs.
Pour plus d'informations sur les boucles Python, veuillez vous référer à l'explication détaillée des boucles Python. Pour plus d'informations sur les expressions régulières, veuillez vous référer au tutoriel d'expression régulière Python.
Cet article a été mis à jour et comprend les contributions de Monty Shokeen. Monty est un développeur complet qui aime écrire des tutoriels et apprendre de nouvelles bibliothèques JavaScript.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!