Remplacement d'une chaine de caractère dans un fichier *.txt

boy63 Messages postés 7 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 17 juin 2009 - 9 juin 2009 à 12:06
EMC1 Messages postés 2 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juin 2009 - 12 juin 2009 à 15:58
Bonjour,

J'aimerais savoir comment remplacer une partie précise d'une chaine de caractère par une autre dans un fichier *.txt. Je m'explique un peu plus la chaine de caractère en question est noyé au milieu d'autres données. Il s'agit de : 'E11=276E3'.
Je voudrais pouvoir remplacer 276 par 300 en réécrivant le *.txt. Ce *.txt servant de fichier données pour un autre programme. Une difficulté supplémentaire, le chiffre remplacé ne sera jamais le même. Je dois donc pouvoir le remplacer sans utiliser son nom!

J'ai ecris ceci mais ca ne marche pas:
f=open('C:\Users\Boy\Desktop\Python\Stratifie_variable\Composite_stratifie','r+w')

txt = f.readlines()

txt2=str(txt)

pos1 = txt2.find('E11=')

pos2 = txt2.find('E3')

sousChaine = txt2[pos1+4:pos2]

remplacement=txt2.replace(sousChaine,'300')

print sousChaine

print txt2

Si quelqu'un peu me mettre sur la voie.
Merci d'avance pour vos réponse.

2 réponses

EMC1 Messages postés 2 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juin 2009
12 juin 2009 à 15:57
0
EMC1 Messages postés 2 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juin 2009
12 juin 2009 à 15:58
A la rigeur :

f=open('C:\Users\Boy\Desktop\Python\Stratifie_variable\Composite_stratifie','r')
txt = f.read()
pos1 = txt.find('E11=')
pos2 = txt.find('E3')
sousChaine = txt[pos1+4:pos2]
f.close()
f=open('C:\Users\Boy\Desktop\Python\Stratifie_variable\Composite_stratifie','w')
f.write(txt.replace(sousChaine,'300'))
f.close()
0
Rejoignez-nous