Les paquets Python - import de la classe, pas de fichier
Question
Dire que j'ai la structure suivante:
app/
app.py
controllers/
__init__.py
project.py
plugin.py
Si app/controllers/project.py définit un Projet de classe, app.py importez comme ceci:
from app.controllers.project import Project
Je voudrais juste être capable de faire:
from app.controllers import Project
Comment ceci pourrait-il être fait?
La solution
Vous avez besoin de mettre
from project import Project
dans controllers/__init__.py
.
Notez que lorsque Absolu des importations devient la valeur par défaut (Python 2.7?), vous voulez ajouter un point devant le nom du module (pour éviter les collisions avec un modèle de niveau supérieur nommé project
), c'est à dire,
from .project import Project
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow