Я пытаюсь организовать некоторые модули для собственного использования. У меня примерно так:
lib/
__init__.py
settings.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
В lib/__init__.py
, я хочу определить некоторые классы, которые будут использоваться, если я импортирую lib. Однако я не могу понять это, не разделив классы на файлы и не импортируя их в __init__.py
.
Вместо того, чтобы сказать:
lib/
__init__.py
settings.py
helperclass.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
from lib.settings import Values
from lib.helperclass import Helper
Я хочу что-то вроде этого:
lib/
__init__.py #Helper defined in this file
settings.py
foo/
__init__.py
someobject.py
bar/
__init__.py
somethingelse.py
from lib.settings import Values
from lib import Helper
Возможно ли это, или мне нужно разделить класс в другой файл?
РЕДАКТИРОВАТЬ
Хорошо, если я импортирую lib из другого скрипта, я могу получить доступ к классу Helper. Как я могу получить доступ к классу Helper из settings.py?
Пример здесь описывает внутрипакетные ссылки. Цитирую «субмодули часто должны ссылаться друг на друга». В моем случае lib.settings.py нужен Helper, а lib.foo.someobject нужен доступ к Helper, так где мне определить класс Helper?