Próbuję zorganizować kilka modułów na własny użytek. Mam coś takiego:
lib/ __init__.py settings.py foo/ __init__.py someobject.py bar/ __init__.py cośelse.py
W lib/__init__.py
chcę zdefiniować kilka klas, które będą używane podczas importowania lib. Jednak wydaje mi się, że nie potrafię tego rozgryźć bez rozdzielenia klas na pliki i zaimportowania ich w __init__.py
.
Zamiast mówić:
lib/ __init__.py settings.py helperclass.py foo/ __init__.py someobject.py bar/ __init__.py cośelse.py z lib.settings import Wartości z lib.helperclass import Pomocnik
Chcę czegoś takiego:
lib/ __init__.py #Helper zdefiniowany w tym pliku settings.py foo/ __init__.py someobject.py bar/ __init__.py cośelse.py from lib.settings import Wartości z lib import Helper
Czy to możliwe, czy też muszę oddzielić klasę do innego pliku?
EDYTUJ
OK, jeśli importuję lib z innego skryptu, mogę uzyskać dostęp do klasy Helper. Jak mogę uzyskać dostęp do klasy Helper z settings.py?
Przykład tutaj opisuje odniesienia wewnątrz-pakietowe. Cytuję "podmoduły często muszą odnosić się do każdego ot jej". W moim przypadku lib.settings.py potrzebuje Helpera, a lib.foo.someobject potrzebuje dostępu do Helpera, więc gdzie mam zdefiniować klasę Helper?