Python pakker - import av klasse, ikke filen

stemmer
45

Si Jeg har følgende filstruktur:

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

Hvis app / kontrollere / project.py definerer en klasse prosjekt, ville app.py importere det slik:

from app.controllers.project import Project

Jeg vil gjerne bare være i stand til å gjøre:

from app.controllers import Project

Hvordan vil dette bli gjort?

Publisert på 05/09/2008 klokken 02:15
kilden bruker
På andre språk...                            


1 svar

stemmer
82

Du må sette

from project import Project

i controllers/__init__.py.

Merk at når Absolutte importen bli standard (Python 2.7?), Vil du ønsker å legge til et punktum før modulnavnet (for å unngå kollisjoner med en topp-nivå modellen heter project), dvs.

from .project import Project
Svarte 05/09/2008 kl. 02:18
kilden bruker

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