我有一个包含
树结构的包pkg\
__init__.py
module1.py
Class11
Class12
module2.py
Class21
function21
我希望特定的类和函数位于全局命名空间中,这样当我用
启动脚本时from pkg import *
我可以直接使用Class11,Class12和function21。这可能吗?其背后的动机是允许在小脚本或交互模式下快速轻便地使用。它隐含地知道,使用更长的脚本时,不会使用import all并正确遍历包结构。
编辑:我可以在pkg' __init__.py
中导入Class11,Class12和function21,但这样,当我执行常规import pkg
时,我仍然可以访问Class11 pkg.Class11
代替正确的pkg.module1.Class11
。如果我没有pkg.module1.Class11
,我希望import *
成为唯一的方式。
答案 0 :(得分:-1)
像这样设置__init__.py
:
from .module1 import Class11, Class12
from .module2 import Class21, function21