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 :

Comment différencier un module portant le même nom mais dans un répertoire différent


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Points : 109
    Points
    109
    Par défaut Comment différencier un module portant le même nom mais dans un répertoire différent
    Bonjour,

    Je souhaiterais savoir si il est possible de différencier deux modules ayant le même nom en python, mais ne se trouvant pas dans le même répertoire.

    Par exemple avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import sys
    sys.path.append('./dir/')
    Je peux retrouver le module Test.py qui se trouve dans le répertoire ./dir/Test.py

    mais si par exemple je veux utiliser un autre module qui se trouve dans le répertoire ./dir2/Test.py

    ??

  2. #2
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Dans ce cas, tu ne devrais (à mon avis) pas ajouter './dir/' au path, placer un __init__.py (vide, si tu n’as rien à y faire) dans chaque répertoire (dir, dir2, etc.), et utiliser le chemin d’import*:

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import dir.test as test1
    import dir2.test as test2

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Points : 257
    Points
    257
    Par défaut
    Vous pouvez faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import sys as nom_perso
     
    nom_perso.exit(0)
    C'est pareil pour n'importe quel module

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Points : 109
    Points
    109
    Par défaut
    Merci beaucoup, je ne connaissais pas l'utilisation du fichier __init__.py
    Du coup, en tapant ce mot, j'ai tout trouvé dans la doc :

    http://docs.python.org/release/2.1.3/tut/node8.html

    Merci encore !

  5. #5
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Bonjour.

    Il me semble qu'il serait mieux d'éviter les doublons. Par exemple, dans le cas de fichiers de tests, il suffirait de leur donner des noms plus précis comme TestBidule.py, TestMachin.py ...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Points : 109
    Points
    109
    Par défaut
    Oui, en fait, c'était juste pour l'exemple que je l'ai nommé test.
    Je voulais surtout savoir si jamais un jour je faisais un module avec un nom donné et que j'utilisais une autre librairie qui en contenait un.

    Ou aussi, surtout, plutôt que d'avoir un fichier avec toutes mes classes, je voulais savoir comment les nommer si je les plaçais dans des sous répertoires...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/09/2013, 13h56
  2. Réponses: 4
    Dernier message: 14/02/2013, 17h13
  3. [Langage/Algorithme] Deux Classes avec le même nom déclaré dans Deux CPP différents
    Par ShaiLeTroll dans le forum C++Builder
    Réponses: 8
    Dernier message: 09/10/2012, 10h35
  4. Réponses: 2
    Dernier message: 25/01/2012, 17h57
  5. Réponses: 6
    Dernier message: 07/01/2011, 17h49

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