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 :

Question sur les Importations


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Question sur les Importations
    Bonjour,

    Je connais Python depuis un moment je commence a peine a en saisir les subtilités.
    Je suis en train de faire un programme pas bien gros mais qui demande pas mal de bibliothèques non standard ( PIL PyQt PyMedia VPython .. ) et je veux tester si la bibliothèque en question est bien présente lorsque je l'importe.

    Rien de compliqué jusque la, sauf que pour éviter d'avoir un gros tas de lignes moches j'aimerais pouvoir faire ces importations dans un script a part et importer ce script dans le programme principal.

    ( Un peu a la manière des headers en C : on met tout nos include dans un .h (sauf qu'un header est juste concaténé en début de fichier .c) )

    en gros :

    Fichier ImportFile.py

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    try : import PIL
    except ImportError: print "PIL manquante !"
    Fichier Main.py


    Le problème et vous l'aurez deviné c'est que les modules importés dans ImportFile.py ne le sont pas dans Main.py.
    Il faut avouer que j'ai pas très bien compris comment Python gère les importations.
    De la même façon : quand on importe un module, ca doit forcement importer les modules nécessaire au fonctionnement des fonctions du modules non ? Mais ca n'as pas l'air d'être le cas.

    C'est assez annexe comme problème mais j'aimerais savoir juste pour savoir
    D'autant que j'ai cherché assez longtemps avant de poster...

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Contrairement aux "#include" du C, les "import" de python ne se contentent pas d'insérer le contenu du fichier, mais créent une variable avec le nom du module, variable qui contient justement les membres visibles du module.

    A mon avis, un "from ImportFile import *" suffirait, bien que je ne recommande pas du tout cette pratique qui nuit à la clarté du code.

    -> FAQ

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    J'ai essayé le From x import * , ca ne fonctionne pas. Bon c'est pas bien grave, de toute façon c'était juste un confort personnel et absolument pas conseillé effectivement.

  4. #4
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Mets le directement dans Main.py. Sinon, tu vas devoir accéder aux modules en utilisant ImportFile.PIL.Image, etc. Mettre tous les imports dans un seul module est pas une pratique recommendée en Python.

Discussions similaires

  1. questions sur les "import" et une "class extends"
    Par miniRoshan dans le forum Général Java
    Réponses: 5
    Dernier message: 21/04/2010, 14h35
  2. Question sur les import
    Par Snote100024 dans le forum Général Java
    Réponses: 1
    Dernier message: 24/02/2010, 11h24
  3. Question sur les "import"
    Par Iyoiyo dans le forum Langage
    Réponses: 4
    Dernier message: 19/05/2009, 12h52
  4. Question de debutant sur les Imports
    Par gibea00 dans le forum Framework .NET
    Réponses: 1
    Dernier message: 04/12/2006, 15h33
  5. Question sur les import
    Par zoullou dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2006, 21h37

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