Я намагаюся організувати деякі модулі для власного використання. У мене є щось подібне:
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
Чи це можливо, або я повинен розділити клас на інший файл?
EDIT
Гаразд, якщо я імпортую lib з іншого сценарію, я можу отримати доступ до класу Helper. Як я можу отримати доступ до класу Helper з settings.py?
Приклад тут описує Посилання всередині пакету. Цитую "підмодулі часто потрібно посилатися один на одного". У моєму випадку lib.settings.py потребує Helper, а lib.foo.someobject потрібен доступ до Helper, тож де я повинен визначити клас Helper?