Comment supprimer des occurrences dans un fichier
Bonjour,
Je dois nettoyer un fichier pour en garder quelques informations. Mon code es le suivant:
#Création d'une liste. Les éléments de la liste doivent être supprimés
chaines= ['<Root>',
'<Article>',
'<Guide level="1">',
'<level="2">',
'<level="3">',
'<level="4">',
'<Titre>',
'</Titre>',
'</Paragraphe>',
'<Paragraphe>',
'<Gras>',
'</Gras>']
# Ouverture du fichier
fichier = open('C:/FRA/Imprimable.xml', 'r')
# Parcours du fichier source pour supprimer les chaînes contenues dans ma liste
for line in fichier:
for chaine in chaines:
if chaine in line:
fichier.remove(chaine)
fichier.close()
Mon problème se situe au niveau de "fichier.remove(chaine)" (je pense). Au lieu de supprimer que les éléments du texte contenu dans ma liste, le programme me vide l'intégralité du fichier.
Qu'est que j'ai mal défini dans mon programme.
L'objectif est de nettoyer un fichier xml et ne garder que le texte pour ensuite pouvoir compter le nombre de mots restant dans le fichier.
Merci de votre compréhension.
Nouveau code après modificaion
Voici mon nouveau code en prenant en compte vos suggestions:
chaines= ['<Root>',
'<Article>',
'<Article_Guide level="1">',
'<Article_Guide level="2">',
'<Article_Guide level="3">',
'<Article_Guide level="4">',
'<Titre>',
'</Titre>',
'</Paragraphe>',
'<Paragraphe>',
'<Gras>',
'</Gras>']
fichier = open('C:/FRA/Imprimable.xml', 'r')
txt = fichier.read()
for chaine in chaines:
txt.replace(chaine, '')
fichier.close()
Le programme ne plante pas mais ne fait rien non plus. Manque t-il encore quelque chose à votre avis.
Merci