自分用にいくつかのモジュールを整理しようとしています。私はこのようなものを持っています:
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
それは可能ですか、またはクラスを別のファイルに分割する必要がありますか?
編集する
OK、別のスクリプトからlibをインポートすると、Helperクラスにアクセスできます。settings.pyからどのようにHelperクラスにアクセスできますか?
この例では、パッケージ内参照について説明しています。私は「サブモジュールはしばしば相互に参照する必要がある」と引用しています。私の場合、lib.settings.pyはHelperを必要とし、lib.foo.someobjectはHelperへのアクセスを必要とするので、Helperクラスをどこに定義すればよいですか?