IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

modifier dans un fichier.txt


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut modifier dans un fichier.txt
    Bonjour,

    Je cherche un moyen de modifier une ligne qui se trouve au dans un fichier texte.
    je souhaite tout d'abord ouvrir mon fichier en lecture 'r' pour repérer ma ligne.
    puis dans un nouveau fichier, que j'ouvre en write je vais remplacer la chaîne de caractères par une autre chaine 'bonjour: ex'

    Auriez-vous une autre idée??? sur comment coder ça
    voilà ce que j'ai pu faire après ma recherche, mais qui ne marche pas!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    import sys
     
     
                fichier = open('ifc.txt','r')
                fichier2 = open('ifc.txt'+'~','w')        
     
                lignes = fichier.readlines()                
                for ligne in lignes:
                    ligneFinale = ligne.replace('END-ISO-10303-21','bonjour')            
                    fichier2.write(ligneFinale)            
     
                fichier.close()                     # Fermeture du fichier source
                fichier2.close()
    merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Qu'entends-tu par "ça ne marche pas" ?

  3. #3
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par ladère Voir le message
    Bonjour,

    Je cherche un moyen de modifier une ligne qui se trouve au dans un fichier texte.
    je souhaite tout d'abord ouvrir mon fichier en lecture 'r' pour repérer ma ligne.
    puis dans un nouveau fichier, que j'ouvre en write je vais remplacer la chaîne de caractères par une autre chaine 'bonjour: ex'

    Auriez-vous une autre idée??? sur comment coder ça
    voilà ce que j'ai pu faire après ma recherche, mais qui ne marche pas!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    import sys
     
     
                fichier = open('ifc.txt','r')
                fichier2 = open('ifc.txt'+'~','w')        
     
                lignes = fichier.readlines()                
                for ligne in lignes:
                    ligneFinale = ligne.replace('END-ISO-10303-21','bonjour')            
                    fichier2.write(ligneFinale)            
     
                fichier.close()                     # Fermeture du fichier source
                fichier2.close()
    merci d'avance
    Bonjour,
    En premier, quelle est l'erreur renvoyée par Python? Au moins il serait possible de corriger quelque chose!!
    En second, le script ne répond pas du tout à la question qu'il me semble avoir compris!
    Le script semble vouloir recopier chaque ligne, en remplaçant une chaîne par une autre, dans un nouveau fichier; C'est bien le but visé?
    Clodion

  4. #4
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut
    quant j’exécute le programme, la chaîne de caractère que je souhaite modifier est toujours celle de départ.
    - ce que je souhaite faire, c'est de remplacer une chaine de caracteres dans une ligne donnée sans écraser le premier fichier.

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Et ça, ça donne quoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                for ligne in lignes:
                    print ligne, '>',
                    ligneFinale = ligne.replace('END-ISO-10303-21','bonjour') 
                    print ligneFinale         
                    fichier2.write(ligneFinale)

  6. #6
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut
    ce dernier code permet, de modifier toute les lignes (sachant que y a pas une seule ligne dans mon fichier) en mettant < à la fin de chaque ligne
    et d'ecrire bonjour à la fin du text.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    f=open('ifc.txt','r+')
    chaine=f.read().replace('chaine à modifier','blabla')
    f.close()
    f=open('ifc.txt','w')
    f.write(chaine)
    f.close()
    ça marche, mais j'écrase le fichier source.

  7. #7
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Çà ne répond pas à ma question du post #5

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/09/2009, 10h35
  2. code java pour modifier une ligne dans un fichier txt
    Par pacomou dans le forum Général Java
    Réponses: 1
    Dernier message: 03/09/2009, 15h23
  3. Réponses: 2
    Dernier message: 02/09/2008, 14h17
  4. Réponses: 1
    Dernier message: 01/03/2008, 12h01
  5. Modifier une ligne dans un fichier txt en java
    Par nihad510 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/10/2007, 22h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo