我正在尝试导入两个密切相关的“子模块”,而且我不确定如何以表明它们相关的方式导入它们。我的文件结构如下:
main.py
module/
child_one/
one.py
child_two
two.py
是否有一种将one.py
和two.py
导入main.py
的方式,使它们都作为父级的“子模块”,同时又缩短了父级的名称?例如这样的事情(不起作用,我认为名称中的.
不好...):
import module.child_one as m.one
import module.child_two as m.two
我想,如果我不想缩短父母的名字,我可以将它们导入为module.child_one
和module.child_two
而不会弄乱他们的名字。
谢谢!
答案 0 :(得分:2)
class m:
import module.child_one.one as one
import module.child_two.two as two
t = m.one.func_one()
tt = m.two.func_two()
它有效,但是...不寻常
答案 1 :(得分:1)
从您的模块中添加__init__.py
文件
从该文件导入两个子模块
__init__.py
from child_one import one
from child_two import two
# or
from child_one.one import func_one
from child_two.two import func_two
您可以通过使用它们
import module
module.one.func_one()
module.two.func_two()
# or
module.func_one()
module.func_two()
答案 2 :(得分:0)
您可以导入整个模块,给它一个别名,然后调用每个孩子。
import module as m
m.child1.foo()
m.child2.foo()
根据接受的答案here,是导入整个模块还是单个函数都没有什么不同,除非您循环使用子模块。