在Python中导入相关模块

时间:2019-06-07 14:20:02

标签: python python-2.7

我正在尝试导入两个密切相关的“子模块”,而且我不确定如何以表明它们相关的方式导入它们。我的文件结构如下:

main.py
module/
    child_one/
        one.py
    child_two
        two.py

是否有一种将one.pytwo.py导入main.py的方式,使它们都作为父级的“子模块”,同时又缩短了父级的名称?例如这样的事情(不起作用,我认为名称中的.不好...):

import module.child_one as m.one
import module.child_two as m.two

我想,如果我不想缩短父母的名字,我可以将它们导入为module.child_onemodule.child_two而不会弄乱他们的名字。

谢谢!

3 个答案:

答案 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,是导入整个模块还是单个函数都没有什么不同,除非您循环使用子模块。