begin process at 2012 05 25 06:34:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

Remplacer un mot ou un nombre dans un fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplacer un mot ou un nombre dans un fichier

vendredi 14 novembre 2008 à 19:23:02 | Remplacer un mot ou un nombre dans un fichier

tptpt

Bonjour,

Es-ce possible de remplacer un mot ou un nombre dans un fichier grace à python?
samedi 15 novembre 2008 à 10:39:53 | Re : Remplacer un mot ou un nombre dans un fichier

tptpt

j'ai fais ce code, ça fonctione en partie, mais le fichier n'est pas recopier en entier, je supose qu'un caractère dans le fichier d'origine stop la copie!

# -*- coding: cp1252 -*-

import re

def multiwordReplace(text, wordDic):
    rc = re.compile('|'.join(map(re.escape, wordDic)))
    def translate(match):
        return wordDic[match.group(0)]
    return rc.sub(translate, text)

wordDic = {
'Knight_N': 'Amazon_N',
'Cavkgt_N': 'Amazon_N'}

file_entree = open('C:\ent_data.dat','r')
changedic=file_entree.read()
file_entree.close()

file_sortie = open('C:\ent_dataBis.dat','w')
change_file = multiwordReplace(changedic, wordDic)
file_sortie.writelines(change_file)
file_sortie.close()

samedi 15 novembre 2008 à 14:31:55 | Re : Remplacer un mot ou un nombre dans un fichier

fred1599

pas besoin du module re

Il y a beaucoup plus simple

Utilise "replace"

Voila ce que dis la doc

replace(old, new[, count])
Return a copy of the string with all occurrences of substring old replaced by new. If the optional argument count is given, only the first count occurrences are replaced.

source : http://www.python.org/doc/2.5.2/lib/string-methods.html


samedi 15 novembre 2008 à 16:07:35 | Re : Remplacer un mot ou un nombre dans un fichier

tptpt

Merci, c'est plus simple, mais j'ai toujour le même problème, la copie s'arrête avant la fin du fichier!

voici le code modifié:

file_entree = open('C:\ent_data.dat','r')
changedic=file_entree.read(999999)
changedic = changedic.replace('Knight_N', 'Amazon_N')
changedic = changedic.replace('Cavkgt_N', 'Amazon_N')
file_entree = open('C:\ent_data.dat','w')
file_entree.write(changedic)
file_entree.close()
samedi 15 novembre 2008 à 17:03:01 | Re : Remplacer un mot ou un nombre dans un fichier

fred1599

cela fonctionne chez moi

file_entree = open('test.txt','r')
changedic=file_entree.read()
changedic = changedic.replace('script', 'beuh')
changedic = changedic.replace('transitional', 'waouh')
file_entree = open('test.txt','w')
file_entree.write(changedic)
file_entree.close()


samedi 15 novembre 2008 à 17:25:57 | Re : Remplacer un mot ou un nombre dans un fichier

tptpt

Moi aussi pour les fichiers simples, mais pas pour ce fichier : [ Lien ] 
il fait 14,7ko, et une fois copié ilne fais que 7ko, il manque la moitiée des lignes!
samedi 15 novembre 2008 à 17:42:54 | Re : Remplacer un mot ou un nombre dans un fichier

fred1599

Je n'ai pas windows, mais si tu le renommes simplement en txt, puis faire la manip et le renommer de nouveau en dat???

Dis moi si ca fonctionne.

Au cas où tout ça est à refaire, on pourra le rajouter dans le script


samedi 15 novembre 2008 à 17:55:55 | Re : Remplacer un mot ou un nombre dans un fichier

tptpt

j'ai déjà essayé mais ça marche pas

samedi 15 novembre 2008 à 18:25:34 | Re : Remplacer un mot ou un nombre dans un fichier

fred1599

Je crois, je ne peux pas être sur que les fichiers dat sont des structures de données et non des chaînes de caractères.

Je pense que tu devrais utiliser un outil comme pickle

Exemple :

http://www.linux-pour-lesnuls.com/python.php

Voir dans fichier d'entrée sortie.

doc en français de pickle :

http://quentel.pierre.free.fr/python-trad/module-pickle.html

Bon courage
samedi 15 novembre 2008 à 18:34:44 | Re : Remplacer un mot ou un nombre dans un fichier

fred1599

Peut-etre s'ouvre-t-il avec le module csv

Voir csv.reader



1 2

Cette discussion est classée dans : fichier, nombre, mot, remplacer


Répondre à ce message

Sujets en rapport avec ce message

voir si un caractère a déjà était écrit dans une boucle [ par Lutcho74 ] Bonjour,Ma question est un peu dans le titre du sujet...Je compte faire un programme qui donne un nombre aléatoire grâce au module random pour ensuite Condition ne fonctionne pas [ par Fabrizio001 ] Bonjour,Je débute (1 semaine )en python et je sollicite votre aide. Voici ce que j'essaye de faire:Je veux contrôler le contenu d'un fichier .txt qui Recherche de mots dans un fichier [ par Malrod ] Bonjour. Je débute en python et j'aimerais me faire un "moteur de recherche" pour fouiller dans des fichiers. J'aimerais ici demander la recherche comparer les valeurs d'un tableau [ par basmaber ] bonjour, je suis débutante en phyton et je dois faire un programme qui permet d'ouvrir un fichier txt de ce genre : "I1";15.;100.;120.;80. .... et ap lire et comparer les valeurs d'un fichier [ par basmaber ] Bonjour, j'ai crée une boucle qui lit et compare les valeur d'un fichier , mais le problème ma boucle fonctionne pour toute les valeurs sauf une je ne enregistrer des valeur dans un fichier [ par fabespa34 ] Bonjour, pour m'amuser j'ai fais un générateur de mot de passe et au moment d'enregistrer le mot de passe et l'identifiant associé ça coince. Voilà le Descripteur de fichier (ioctl) Linux [ par iAure5974 ] Bonjour je cherche un équivalent de la fonction ioctl du module "socket" sous Linux pour passer ma carte en mode promiscuous (vous devinerez assez fac Python 2.7 / Tkinter : Affichage simultané [ par mfassifi ] Bonjour, Je débute avec python et j'essaie de faire un Scrabble. Voici mon problème : j'essaie d'afficher les points équivalents à un mot en même temp Aide - Fichier XML - Python [ par ZoooiiiiiDa ] Bonjour à vous =) Alors voici mon problème, je dois modifier des fichiers xml, jusque là pas de soucis, je me balade, tout ça, ça va. (J'utilise mini liste [ par Topnotch ] Bonjourje voudrais comparer deux listes:Plus précisement,  je voudrais comparer deux fichiers texte (fichier.txt) pour savoir si des lignes du fichier


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,139 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales