将 'sibling' 模块相互导入的最pythonic方式是什么?
What is the most pythonic way to import 'sibling' modules into one another?
'sibling' 个模块,我的意思是两个子模块存在于父模块中的相同深度。
我正在尝试使用 Flask-Restful 创建一个 Flask 项目,它建议使用此架构构建项目:
myapi/
__init__.py
app.py # this file contains your app and routes
resources/
__init__.py
foo.py # contains logic for /Foo
bar.py # contains logic for /Bar
common/
__init__.py
util.py # just some common infrastructure
我真的很喜欢这个结构,但我不确定如何将某些东西从 'common' 模块导入到 'resources' 模块中。谁能帮帮我?
在common/__init__.py
from myapi.common.utils import A, B
在resource/foo.py
from myapi.common import A
您还可以在 __init__.py
中进行相对导入,例如 from .utils import A
。
'sibling' 个模块,我的意思是两个子模块存在于父模块中的相同深度。
我正在尝试使用 Flask-Restful 创建一个 Flask 项目,它建议使用此架构构建项目:
myapi/
__init__.py
app.py # this file contains your app and routes
resources/
__init__.py
foo.py # contains logic for /Foo
bar.py # contains logic for /Bar
common/
__init__.py
util.py # just some common infrastructure
我真的很喜欢这个结构,但我不确定如何将某些东西从 'common' 模块导入到 'resources' 模块中。谁能帮帮我?
在common/__init__.py
from myapi.common.utils import A, B
在resource/foo.py
from myapi.common import A
您还可以在 __init__.py
中进行相对导入,例如 from .utils import A
。