[Python] remplacer caractères fichier texte
Résolu
Krytek13
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Krytek13 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Krytek13 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je débute en programmation et on m'a donné un exercice à faire sous python. Le problème est le suivant : écrire une commande qui ouvre un fichier texte, parcourir l'ensemble du fichier, remplacer certains caractères par d'autres que j'ai au préalable mis dans un dictionnaire.
J'ai commencé par écrire ca mais je ne sais pas comment utiliser mon dico pour remplacer les caractères:
#! /usr/bin/env python
# -*- coding: iso-8859-1 -*-
from string import*
import sys
import re
import os
def traitement2(nomfichier):
try:
nomfichier = "data1.txt"
fic = open(nomfichier, "r")
texte = fic.readlines()
#test
for l in texte:
print "l :", l
except IOError:
print "Impossible d'ouvrir le fichier", data1.txt
sys.exit(-1)
index = { '-101' : '\moins un zero un', '001' : '\un un un', '111' : '\zero un zero', '011' : '\zero un un' }
#test
for m in index:
print "m :", m
traitement2(nomfichier)
Avec ça, python m'ouvre bien mon fichier mais je ne sais pas quoi ajouter pour modifier les caractères (par exemple 001 par zero zero un). Si quelqu'un pouvait m'aider...
Merci d'avance
J'ai commencé par écrire ca mais je ne sais pas comment utiliser mon dico pour remplacer les caractères:
#! /usr/bin/env python
# -*- coding: iso-8859-1 -*-
from string import*
import sys
import re
import os
def traitement2(nomfichier):
try:
nomfichier = "data1.txt"
fic = open(nomfichier, "r")
texte = fic.readlines()
#test
for l in texte:
print "l :", l
except IOError:
print "Impossible d'ouvrir le fichier", data1.txt
sys.exit(-1)
index = { '-101' : '\moins un zero un', '001' : '\un un un', '111' : '\zero un zero', '011' : '\zero un un' }
#test
for m in index:
print "m :", m
traitement2(nomfichier)
Avec ça, python m'ouvre bien mon fichier mais je ne sais pas quoi ajouter pour modifier les caractères (par exemple 001 par zero zero un). Si quelqu'un pouvait m'aider...
Merci d'avance
A voir également:
- Python remplacer un caractère par un autre
- Caractère ascii - Guide
- Remplacer disque dur par ssd - Guide
- Caractère spéciaux - Guide
- Remplacer un mot par un autre word - Guide
- Caractere speciaux - Guide
2 réponses
Une fois que tu as ton dico, tu peux parcourir facilement ses indices (ou clés).
Donc ce qu'il faut faire:
Pour chaque clé de index: remplacer dans le fichier chaque sous chaine égale à clé par index[clé]
En python ça donne ça:
Pis voilà....
Donc ce qu'il faut faire:
Pour chaque clé de index: remplacer dans le fichier chaque sous chaine égale à clé par index[clé]
En python ça donne ça:
fichier=open("data1.txt", "r") contenu=fichier.read() #Lit tout le fichier d'un coup index = { '-101' : '\moins un zero un', '001' : '\zero zero un', '111' : '\un un un', '011' : '\zero un un' } #Tu peux prendre n'importe quel nom pour la variable cle #Cette variable représente une nouvelle clé de l'index à chaque itération du for for cle in index: contenu=contenu.replace(cle, index[cle]) print contenu
Pis voilà....