2008-09-05 9 views
42

Dire que j'ai la structure de fichier suivant:paquets Python - import par classe, fichier non

app/ 
    app.py 
    controllers/ 
    __init__.py 
    project.py 
    plugin.py 

Si app/controllers/project.py définit un importeraient comme projet de classe, app.py ceci:

from app.controllers.project import Project 

Je voudrais simplement être en mesure de le faire:

from app.controllers import Project 

Comment cela serait-il fait?

Répondre

79

Vous devez mettre

from project import Project 

dans controllers/__init__.py.

Notez que lorsque Absolute imports devient la valeur par défaut (Python 2.7?), Vous voulez ajouter un point avant le nom du module (pour éviter les collisions avec un modèle de niveau supérieur nommé project), à savoir,

from .project import Project 
Questions connexes