我确定这必须是重复的,但我找不到答案。
我有以下设置:
example
├── __init__.py
├── submod
│ ├── __init__.py
│ ├── subscript1.py
│ └── subscript2.py
└── toplevel.py
在subscript1
中有一个函数,当我通过以下方式从命令行运行时,我想在toplevel
中调用该函数:
python toplevel.py
我可以执行以下操作,并且有效:
from submod import subscript1
subscript1.my_func()
但是我想做的是:
import submod
submod.subscript1.my_func()
这给出了一个错误:
AttributeError: module 'submod' has no attribute 'subscript1'
答案 0 :(得分:0)
在submod\__init__.py
(我想现在是空的)中,添加以下行:
from . import subscript1
这使得subscript
模块可以直接在submod
模块中访问。
注意:您无需在项目根目录中使用__init__.py
。