Bonjour,
J'ai conçu un début de script qui me permet de remplacer des mots d'un fichier texte et de les écrire dans un autre fichier, suivant une liste prédéfinie.
Par exemple : Si dans le fichier a.txt il y a le mot "Fruit", et bien en parcourant le fichier il va remplacer tous les mots "Fruit" par "Pomme".
Sauf que là ou j'ai un problème c'est que un mot comme "Fruit" doit être assimilé(remplacé) par plusieurs mots en fonction de son emplacement dans le texte.
J'ai donc pensé à faire des sous listes, mais je ne parviens pas à quelque chose de concluant..
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import re remplacement_dict = {"A":{'fruit':'pomme','frut':'poulpe'}, "B":{'fruit':'poire','pistache':'tomate'}} print(remplacement_dict) with open("a.txt") as fichier, open("b.txt", "w") as nouveaufichier: texte = fichier.read() def replfunc(match): return remplacement_dict[match.group[0]] regex = re.compile('|'.join(re.escape(x) for x in remplacement_dict)) with open('a.txt') as fin, open('b.txt', 'w') as fout: for line in fin: fout.write(regex.sub(replfunc,line))
Partager