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

Réseau/Web Python Discussion :

Trouver, automatiquement, le nom du répertoire courant


Sujet :

Réseau/Web Python

  1. #21
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Petit code supplémentaire, inutile mais qui fonctionne sous tux.
    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
    import os.path
    import traceback
    import sys
     
    def getpath():
        try:
            1/0
        except ZeroDivisionError as err:
            exc_type, exc_value, exc_tb = sys.exc_info()
            trace = traceback.format_exception(exc_type, exc_value, exc_tb)
            for elem in trace:
                if "File" in elem:
                    return os.path.dirname(os.path.abspath(elem.split("\"")[1]))
     
    print(getpath())
    Juste pour finir ce dimanche dans la bonne humeur

    @+
    Merci d'utiliser le forum pour les questions techniques.

  2. #22
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Je ne me sens pas trop de réaliser des manipulations sur le contenu de Python 3.2.1 pour plusieurs raisons :
    • je suis un vrai débutant en Python (je note pour plus tard les modules inspect et traceback que je ne connais pas encore) ;
    • la solution actuelle (voir mon premier message)
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      import os.path
      current_dir = os.path.dirname(os.path.abspath(__file__))
      marche bien en production (console), elle me sert pour construire un dictionnaire pour le paramètre config de CherreyPy ;
    • je manque de temps (mes vacances studieuses se terminent le 2011-08-31 et j'ai encore un programme d'étude très chargé d'ici là, je n'en verrais pas la fin avant mon retour sur le forum jQuery ;
    • la sortie de la version 3.2.2 est prévue pour le dimanche 28 août, elle corrigera sans doute cette bogue.


    Je vous remercie pour le temps que vous avez passé sur cette bogue et le problème étant maintenant bien identifié je le passe en

    à tous !

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #23
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour danielhagnoul,

    Pour ce qui est du namespace local je ne pense pas que cela soit rectifier avec la 3.2.2.

    Une dernière solution donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import sys
    print(sys.path[0])
    As initialized upon program startup, the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter.
    Normal si l'on souhaite importer des modules perso ou si l'on utilise un package. Et comme le, très important, mécanisme d'import est basé dessus IDLE ne peut pas déroger à cela.

    @+

    Edit:
    Liste (non exhaustive) des solutions qui fonctionnent sous shell/IDLE avec Linux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import os
    import sys
    print("os.getcw      :", os.getcwd())
    print("sys.argv      :", os.path.realpath(os.path.dirname(sys.argv[0])))
    print("sys.path      :", sys.path[0])
    path, script = os.path.split(sys.argv[0])
    print("sys.argv[0]   :", os.path.abspath(path))
    @++
    Merci d'utiliser le forum pour les questions techniques.

  4. #24
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    @PauseKawa : C'est un peu compliqué pour un débutant cette histoire de chemins, mais avec de bons guides on trouve le bon !

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

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

Discussions similaires

  1. nom du répertoire courant
    Par marieo dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/07/2009, 12h31
  2. obtenir le nom du répertoire courant
    Par David78180 dans le forum ANT
    Réponses: 4
    Dernier message: 01/12/2008, 12h38
  3. Réponses: 9
    Dernier message: 15/05/2008, 19h19
  4. Renvoyer le nom du répertoire courant
    Par Jiyuu dans le forum VB.NET
    Réponses: 5
    Dernier message: 31/10/2007, 08h18
  5. Lire le nom du répertoire courant !
    Par Feustine dans le forum Langage
    Réponses: 2
    Dernier message: 17/08/2005, 14h33

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