Rechercher : dans
Par :

[Python] remplacer caractères fichier texte

Dernière réponse le 31 oct 2006 à 20:38:32 Krytek13, le 28 oct 2006 à 23:37:50 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [Python] remplacer caractères fichier texte » dans :
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Qu'est-ce qu'un fichier? VoirQu'est-ce qu'un fichier? Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...
Extensions de fichiers VoirIntroduction aux fichiers Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...
Caractéristiques du langage C VoirLe fichier source Le fichier source d'un programme écrit en langage C est un simple fichier texte dont l'extension est par convention .c. Note d'un visiteur (J.Grondin) : L'extension est en minuscules. Le .C (majuscule) est interprété par...

1

kilian, le 31 oct 2006 à 00:36:59

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:

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à....
..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

2

 Krytek13, le 31 oct 2006 à 20:38:32

Merci beaucoup pour ta réponse, j'ai enfin pu faire ce que je voulais grâce à toi.

A plus

Répondre à Krytek13