导入子模块,然后从脚本调用函数

时间:2019-06-28 22:14:13

标签: python-3.x

我确定这必须是重复的,但我找不到答案。

我有以下设置:

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'

1 个答案:

答案 0 :(得分:0)

submod\__init__.py(我想现在是空的)中,添加以下行:

from . import subscript1

这使得subscript模块可以直接在submod模块中访问。

注意:您无需在项目根目录中使用__init__.py