我试图组织一些模块供我自己使用:
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 类。如何从 setings.py 访问 Helper 类?
示例 给你描述了包内引用。我引用“子模块经常需要相互引用”。在我的示例中,lib.setings.py 需要 Helper,而 lib.foo.some 对象需要访问 Helper,因此我应该在哪里定义 Helper 类?