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 :

exercice python sur les fichiers [Python 3.X]


Sujet :

Python

  1. #21
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Février 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Février 2020
    Messages : 61
    Points : 9
    Points
    9
    Par défaut
    ok j'ai rajouter le s a transformation mais pour b je n'ai pas vraiment compris il faut que je crée une variable et b je met le nom du fichier et comment je veut l'ouvrir (r,w...) je pense pas en tout cas merci beaucoup vraiment de m'apporter votre aide

  2. #22
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def nouveaux_heros(a,b):
        a=open("histoire_1.txt",'r')
        contenu = a.read()  ### Une fois qu'on a contenu, le fichier a on le ferme pas ?
        transformation = {'Paul': 'Tom','Pierre': 'Paul','Jacqueline': 'Mathilde'}
        for ancien, nouveau in transformation.items():
            b = b.replace(ancien, nouveau)  ### b n'est pas censé etre un nom de fichier ? C'est dans contenu que vous voulez remplacer
    #### Et ensuite il faut ouvrir le fichier b, pour écrire contenu dedans.
    Les commentaires sont dans le code.

  3. #23
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    C'est vrai que vous avez du mal à suivre les conseils... Et pour les paramètres je vous ai déjà répondu plusieurs fois mais vous n'en tenez pas compte apparemment...

    marco056 et lg_53 ont donné d'autres explications pour le paramètre b donc je n'y reviens pas mais pour le paramètre a ce n'est toujours pas correcte...

    Pour ce paramètre j'avais écrit cela :

    Citation Envoyé par Beginner. Voir le message
    PS : Dans votre code il y a un petit soucis : les paramètres a et b doivent être utilisés, en particulier on voit que le paramètre a est censé contenir le nom du fichier à lire donc l’instruction fichier=open("histoire_1.txt") devrait plutôt être fichier=open(a)...
    Or vous écrivez ceci :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def nouveaux_heros(a,b):
        a=open("histoire_1.txt",'r')
        contenu = a.read()

    Le paramètre a ne sert à rien puisque vous n'utilisez pas son contenu...

    Quand vous faites ceci : nouveaux_heros("histoire_1.txt", "nouvelle_histoire_1.txt") vous exécutez la fonction nouveaux_heros et à l'intérieur de la fonction le paramètre a sera égale à "histoire_1.txt" et le paramètre b sera égale à "nouvelle_histoire_1.txt"...

    Donc pour ouvrir le fichier à l’intérieur de la fonction on devrait faire quelque chose comme ça :fichier=open(a,'r')...

  4. #24
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Février 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Février 2020
    Messages : 61
    Points : 9
    Points
    9
    Par défaut
    j'ai remplacer ce que vous m'avez demandé j'ai fermé le fichier et j'ai refait le paramètre a mais pour le paramètre b j'essaye de comprendre ce que vous m'avez mis dans les commentaires mais je vous jure que je ne vois pas comment faire j'ai compris que le paramètre b doit s'appeller nouvellehistoire1 mais je ne voit pas comment l'insérer dans le code il faut ouvrir le fichier b ? je vous assure que je lis vos commentaires pour m'aider j'essaye de réfléchir de trouver la solution mais je ne voit pas du tout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def nouveaux_heros(a,b):
        fichier=open(a,'r')
        contenu = fichier.read()
        fichier.close()
        transformation = {'Paul': 'Tom','Pierre': 'Paul','Jacqueline': 'Mathilde'}
        for ancien, nouveau in transformation.items():
            texte = texte.replace(ancien, nouveau)
        fichier2=open(b,'r')

  5. #25
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Pour b, pourquoi ps, mais en mode écriture.
    Il faut y écrire le texte avec write.
    Il faudra aussi le fermer ensuite.
    Mais où est définie la variable texte ??? !!!
    Pas d'aide par mp.

  6. #26
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par amina3020- Voir le message
    je vous assure que je lis vos commentaires pour m'aider j'essaye de réfléchir de trouver la solution mais je ne voit pas du tout
    Si vous ne demandez pas à Python ce qu'il pense de votre code et que vous ne prenez pas le temps de comprendre les messages d'erreurs qu'il retourne, vous n'apprendrez jamais à programmer.
    Si à chaque question que vous vous posez, vous ne prenez pas le temps de relire votre cours ou les chapitres qui en parlent dans votre tuto. préféré, vous ne progresserez jamais.

    Et si à chaque fois qu'on vous propose un exercice vous allez demander de l'aide dans les forums plutôt que de relire les cours, revoir les exercices déjà fait, essayer de coder par vous même, non seulement vous perdez votre temps mais aussi celui de ceux qui essaient de vous aider.

    Et même si ce que je raconte ne vous fait pas plaisir, c'est comme çà.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #27
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    def nouveaux_heros(a,b):
        fichier=open(a,'r')
        contenu = fichier.read()
        fichier.close()
        transformation = {'Paul': 'Tom','Pierre': 'Paul','Jacqueline': 'Mathilde'}
        for ancien, nouveau in transformation.items():
            texte = texte.replace(ancien, nouveau)  ### texte n'existe pas. contenu oui ... Alors appelez le comme vous voulez, mais gardez le meme nom !
        fichier2=open(b,'r') ### Oui c'est un début. Ouvrir le fichier en mode ecriture ca serait mieux qu'en lecture pour pouvoir écrir dedans non ?
        ## Ecrivez ensuite votre résultat dans fichier2
        ## Fermer fichier2

  8. #28
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Février 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Février 2020
    Messages : 61
    Points : 9
    Points
    9
    Par défaut
    voici j'ai modifié ce que vous m'avez demandé pour l'instant et j'essaye de comprendre comment faire pour ce qui me manque donc écrire le résultat dans fichier 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def nouveaux_heros(a,b):
        fichier=open(a,'r')
        contenu = fichier.read()
        fichier.close()
        transformation = {'Paul': 'Tom','Pierre': 'Paul','Jacqueline': 'Mathilde'}
        for ancien, nouveau in transformation.items():
            contenu = contenu.replace(ancien, nouveau)
        fichier2=open(b,'w')
        fichier2.close()

  9. #29
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Déjà indiqué plus haut : write...
    Pas d'aide par mp.

  10. #30
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Février 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Février 2020
    Messages : 61
    Points : 9
    Points
    9
    Par défaut
    c'est contenu qu'il faut mettre dans le fichier2 vu qu'on veut mettre le texte du fichier1 avec les modifications ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    def nouveaux_heros(a,b):
        fichier=open(a,'r')
        contenu = fichier.read()
        fichier.close()
        transformation = {'Paul': 'Tom','Pierre': 'Paul','Jacqueline': 'Mathilde'}
        for ancien, nouveau in transformation.items():
            contenu = contenu.replace(ancien, nouveau)
        fichier2=open(b,'w')
        fichier2.write(contenu)
        fichier.close()

  11. #31
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Tu as essayé ? L'ordi ne va pas te mordre !
    Pas d'aide par mp.

  12. #32
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Février 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Février 2020
    Messages : 61
    Points : 9
    Points
    9
    Par défaut
    ce n'est pas bon quand je teste la console me renvoie None mais j'ai pas demandé de booléen pourtant

  13. #33
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    et est-ce que ton deuxième fichier est créé avec ce qui va bien dedans ?
    et comment appelles-tu ta fonction ?
    Pas d'aide par mp.

  14. #34
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par amina3020- Voir le message
    ce n'est pas bon quand je teste la console me renvoie None mais j'ai pas demandé de booléen pourtant
    Allez un peu réviser les fonctions avec Python, vous sauriez que, par défaut, elles retournent None.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #35
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Février 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Février 2020
    Messages : 61
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par marco056 Voir le message
    et est-ce que ton deuxième fichier est créé avec ce qui va bien dedans ?
    et comment appelles-tu ta fonction ?
    oui mon fichier est crée avec le texte dans mon dossier et oui je viens de remarquer que ma fonction n'est pas terminé mais je doit renvoyer quoi le fichier2 ?

  16. #36
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Pas forcément, peux laisser comme cela.
    La même question à nouveau (c'est un peu pénible) : tu fais comment pour appeler ta fonction ? Un print est inutile.
    Pas d'aide par mp.

  17. #37
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Février 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Février 2020
    Messages : 61
    Points : 9
    Points
    9
    Par défaut
    c bon j'ai compris et le résultat fonctionne merci énormément d'avoir pris le temps de m'expliquer malgrès mes difficultés en tout cas je vous remercie encore mille merci et bonne fin de journée

  18. #38
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 20
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2022
    Messages : 10
    Points : 13
    Points
    13
    Par défaut erreur
    l'énoncé:
    Écrire une fonction nouveaux_heros dont le but consiste à remplacer les héros d'une histoire.

    La fonction acceptera deux paramètres :
    le premier sera une chaîne de caractères précisant le nom du fichier contenant l'histoire initiale ;
    le deuxième sera une chaîne de caractères précisant le nom du fichier dans lequel sera sauvegardée l'histoire modifiée comme précisé ci-dessous.

    Dans l'histoire initiale, présente dans le fichier dont le nom est donné en premier argument, trois protagonistes interviennent : Pierre, Paul et Jacqueline.
    La fonction devra remplacer ces trois héros par, respectivement, Paul, Tom et Mathilde.
    Le texte ainsi modifié sera alors stocké dans le fichier dont le nom est donné en deuxième argument.
    Aucune autre modification ne sera apportée au texte initial.

    je ne comprend pas mon erreur qui est:
    FileNotFoundError: [Errno 2] No such file or directory: 'nouvelle_histoire_1.txt'
    FileNotFoundError: [Errno 2] No such file or directory: 'nouvelle_histoire_2.txt'

  19. #39
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 111
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 111
    Points : 1 616
    Points
    1 616
    Par défaut
    l'erreur indique qu'il ne trouve pas tes fichiers, le script ne les vois pas là où tu penses qu'il les cherche.
    Sinon dans ton code,
    tu dois récupérer le retour de f.readlines() dans une variable qui sera de type liste et non chaine (utilise f.read() si tu veux une chaine)
    Le replace de la ligne 4 est à faire sur la chaine récupérée ligne 3
    Le f.close() tu peux le faire suite à la lecture du fichier.
    pourquoi lire les lignes du fichier2 en ligne 19 ? si c'est pour aller à la fin pourquoi pas
    Ton fichier est ouvert en mode lecture vu que tu ne précises rien dans open https://docs.python.org/3/library/fu...lt%20open#open

  20. #40
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 20
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2022
    Messages : 10
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par umfred Voir le message
    l'erreur indique qu'il ne trouve pas tes fichiers, le script ne les vois pas là où tu penses qu'il les cherche.
    Sinon dans ton code,
    tu dois récupérer le retour de f.readlines() dans une variable qui sera de type liste et non chaine (utilise f.read() si tu veux une chaine)
    Le replace de la ligne 4 est à faire sur la chaine récupérée ligne 3
    Le f.close() tu peux le faire suite à la lecture du fichier.
    pourquoi lire les lignes du fichier2 en ligne 19 ? si c'est pour aller à la fin pourquoi pas
    Ton fichier est ouvert en mode lecture vu que tu ne précises rien dans open https://docs.python.org/3/library/fu...lt%20open#open
    merci vraiment pour ton aide maintenant ca marche !!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Besoin d'aide avec un exercice de python sur les listes.
    Par Azixp92 dans le forum Général Python
    Réponses: 13
    Dernier message: 14/01/2020, 08h39
  2. Besoin d'aide sur python, exercices sur les fichiers
    Par Mini-minimoys dans le forum Général Python
    Réponses: 6
    Dernier message: 21/11/2015, 18h37
  3. [Free Pascal] Exercice sur les fichiers typés et procédures
    Par osabri dans le forum Free Pascal
    Réponses: 2
    Dernier message: 17/01/2010, 11h50
  4. [Turbo Pascal] Exercice sur les fichiers
    Par jawher dans le forum Turbo Pascal
    Réponses: 0
    Dernier message: 07/11/2009, 11h47
  5. Réponses: 6
    Dernier message: 28/04/2004, 10h41

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