Поместите пустой файл __ init __. Py
в каталог Models.
Затем в вашем приложении; предположительно на один уровень выше, вы ссылаетесь на модули в каталоге Models следующим образом:
import Models
и делаете с ними что-то вроде этого:
Models.my_model.MyClassName
Вы также можете использовать ключевое слово from
следующим образом:
from Models import my_model
и ссылаться примерно так:
my_model.MyClassName
Если вам нужен только один метод из модуля, вы также можете сделать это:
from Models.my_model import my_method_name
my_method_name()
Обязательная ссылка на документацию .
В ответ на ваш комментарий к ответу Адама относительно наличия 10 импортов для 10 классов, во-первых, не забывайте, что в Python нет необходимости иметь один класс на модуль. Модули должны быть организованы по функциональности, поэтому вы можете сгруппировать связанные классы в один файл, если это имеет смысл.
Если вы все еще хотите сделать все классы импортируемыми за один раз, вы можете импортировать их все в сам файл __ init __. Py
, используя синтаксис from submodule import Class
, тогда просто импортируйте содержащий модуль - import mainmodule
и обратитесь к mainmodule.Class1
и т.д., или даже используйте из mainmodule import Class1, Class2, Class3
для прямого импорта классов в ваше пространство имен и обращайтесь к ним напрямую.
Адам Бернье дает хорошее техническое описание того, как работают пакеты. Прекрасное описание того, как организовать и отправить проект, описано в http://jcalderone.livejournal.com/39794.html