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 :

Préciser le répertoire d'écriture d'un fichier


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Points : 13
    Points
    13
    Par défaut Préciser le répertoire d'écriture d'un fichier
    Bonjour à tous,
    J'aimerai avoir votre avis sur un problème, en effet j'ai créer un widget qui utilise cette fonction Dossier = QtGui.QFileDialog.getExistingDirectory(self) afin de demander à l'utilisateur de choisir un répertoire et je voudrais utilisé le retour afin que mon fichier que j'ai à écrire soit dans celui choisi par l'utilisateur.

    Peux-ton utiliser la variable Dossier directement cette fonction et si oui comment faire?

    fichier = open("........","a")

    Si vous avez une autre solution je suis preneur!
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 812
    Points : 7 097
    Points
    7 097
    Par défaut
    Cette fonction te renvoie un QString, donc normalement pour le réutiliser, il suffit de faire un str(Dossier)
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    Peux tu m'écrire la ligne si mon fichier je veux qu'il porte le nom de "Donnees1"

    fichier = open(str(Dossier).... après j'écris quoi!

    merci de ton aide, je suis débutant en Python

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 812
    Points : 7 097
    Points
    7 097
    Par défaut
    Utiliser PyQt en étant débutant est de la folie pure.

    Je te conseille fortement de voir les bases sans partie graphique, puis de t'attaquer à la POO (Programmation orientée objet) afin de comprendre la notion de classe et d'utiliser une librairie graphique simple comme Tkinter pour enfin progresser vers PyGTK, wxpython, PyQt...

    Il y a du chemin comme tu le vois.

    Cependant je vais te donner un exemple d'utilisation. Si tu ne le comprends pas, revoir ce que j'ai dis ci-dessus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    >>> from PyQt4 import QtGui
    >>> import sys, os
    >>> app = QtGui.QApplication(sys.argv)
    >>> Dossier = QtGui.QFileDialog.getExistingDirectory()
    >>> type(Dossier)
    <class 'PyQt4.QtCore.QString'>
    >>> print type(str(Dossier))
    <type 'str'>
    >>> mon_fichier = os.path.join(str(Dossier), 'test.txt')
    >>> print(mon_fichier)
    /home/fred1599/test/test.txt
    >>> with open(mon_fichier, 'a') as f:
    ...     f.write('coucou') # inscris coucou dans le fichier se trouvant dans mon dossier test
    ... 
    >>>
    testé et approuvé

    Edit : J'ai un peu de temps, je te le fais proprement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import sys, os
    from PyQt4.QtGui import QFileDialog, QApplication
     
    def dossier():
        Dossier = QFileDialog.getExistingDirectory(caption=\
                  'Choisissez le repertoire', directory='/home',
                   options=QFileDialog.ShowDirsOnly)
        return str(Dossier)
     
    def ecrire(path, texte):
        with open(path, 'a') as f:
            f.write(texte+'\n')
     
    app = QApplication(sys.argv)
    FICHIER = 'test.txt'
    PATH = os.path.join(dossier(), FICHIER)
    ecrire(PATH, 'coucou')
    app.exit()
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    Je tenais à te remercier pour la partie du code, cela fonctionne et c'est exactement ce que je recherchais!

    C'est mon premier programme en Python, mais avec un peu d'acharnement, et de recherches j'arrive à me débrouiller!
    Mais la je bloquais totalement!

    Merci encore!

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

Discussions similaires

  1. problème écriture sur un fichier
    Par drinkmilk dans le forum MFC
    Réponses: 4
    Dernier message: 24/06/2007, 00h08
  2. [PERL] Problème lecture/écriture dans un fichier
    Par LE NEINDRE dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2005, 13h15
  3. Problème d'écriture dans un fichier xml
    Par vanoou dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/07/2005, 02h28
  4. Passer à la ligne lors de l'écriture dans un fichier
    Par hams dans le forum Assembleur
    Réponses: 4
    Dernier message: 17/04/2005, 19h25
  5. [JUnit] Junit écriture dans un fichier
    Par mikael35 dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 10/08/2004, 13h11

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