pacotes Python - importação pela classe, não arquivo

votos
43

Digamos que eu tenha a seguinte estrutura de arquivo:

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

Se app / controllers / project.py define um projeto de classe, app.py que importá-lo como este:

from app.controllers.project import Project

Eu gostaria de apenas ser capaz de fazer:

from app.controllers import Project

Como isso seria feito?

Publicado 05/09/2008 em 03:15
fonte usuário
Em outras línguas...                            


1 respostas

votos
79

Você precisa colocar

from project import Project

no controllers/__init__.py.

Observe que, quando as importações absolutos se tornar o padrão (Python 2.7?), Você vai querer adicionar um ponto antes do nome do módulo (para evitar colisões com um modelo de nível superior chamado project), ou seja,

from .project import Project
Respondeu 05/09/2008 em 03:18
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more