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 :

Enregistrer dans un fichier


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Par défaut Enregistrer dans un fichier
    Salut tout le monde, j'étale directement le problème.

    Je possède plusieurs fichier dont je dois faire un tri dans leurs lignes, et afficher le résultat dans un fichier de sortie. Ce que j'ai déjà réussit à faire grâce à la solution suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    def write(infile,dictionnaire):
        of=file("%s-interfaces non liees.doc" % infile,"w")
            of.write('Not connected interfaces:\n\n')
            print('Not connected interfaces:\n\n')
            for cle in dictionnaire:
                for par in dictionnaire [cle]:
                    """print par"""
                    of.write(par)
            of.close()
    Le résultat marche et le programme crée à chaque fois un document avec le nom du fichier d'origine comme entete puis suivi de 'interfaces liées...'.
    Je cherche maintenant à envoyé le résultat dans un autre répértoire, au lieu de créer les fichiers doc auprès des anciens !!
    Par exemple le chemin suivant:
    C:\Documents and Settings\All Users\output

  2. #2
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Il est déconseillé de se servir directement de file. Préfère open.
    De plus, sous windows, le passage à la ligne est \r\n.

    Pour ouvrir un fichier dans un dossier, euh... assez simple en fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f = open("chemin/vers/le/fichier.dat")

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Par défaut
    Il ne s'agit pas d'ouvrir, car le fichier n'existe pas.
    Je dois le créer et pourvoir ecrir dessus, toujours dans le répétoire vide

  4. #4
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f = open("chemin/vers/le/fichier.dat", "w")

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Par défaut
    D'après tes reflexions, ca devrait doner ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def write(infile,dictionnaire):
        """Ecrit le dictionnaire dans un fichier de sortie """
        of=open("C:\Documents and Settings\All Users\output\%s-interfaces non liees.doc" % infile,"w")
        for cle in dictionnaire:                                                                                            #Tri des clés du dictionnaire
                for par in dictionnaire[cle]:
                    print ('di=',par)
                    of.write(par)
        of.close()
    Ca ne marche pas:
    IOError: [Errno 22] invalid mode ('w') or filename: 'C:\\Documents and Settings\\All Users\\output\\C:\\Documents and Settings\\All Users\\config_copy\\core_routers\\configs\\bru-11-r6.car.belbone.be-interfaces non liees.doc'

  6. #6
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Pense à échapper les \. Python le fait, mais quand même...

    De toute évidence il y a un souci avec le path absolu. Jamais vu ça.
    Soit tu fais quelque chose de travers qui m'échappe, soit tu es tombé sur un bug quelconque à la noix...

    Bon, essaye tjs de faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    os.chdir("C:")
    open("Documents And Settings\\...")
    Et sinon, arrange toi pour le faire en chemin relatif. T'as bien réussi à ouvrir des fichiers doc sur le disque C, tu dois bien pouvoir en créer.

    Edit: aaaah non, cherche pas :p
    Fais un peu, dans ta fonction
    PS: cela dit il serait intéressant que tu lises tes messages d'erreur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/11/2005, 18h03
  2. comment ne pas enregistrer dans le fichier log?
    Par trotters213 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 21/03/2005, 14h56
  3. [LG]Enregistrements dans un fichier
    Par ticoude dans le forum Langage
    Réponses: 1
    Dernier message: 26/11/2004, 18h33
  4. [LG]supprimer un enregistrement dans un fichier
    Par Marcus2211 dans le forum Langage
    Réponses: 10
    Dernier message: 17/11/2003, 00h59
  5. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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