繁体   English   中英

Python:从 importlib 模块导入子模块

[英]Python: import submodule from importlib module

我有一个这样的目录:

parent.py ------+
    child1.py---+
    child2.py---+
    ... etc

我可以像这样导入父模块:

importlib.import_module("parent"))

那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么? 我试过parent.child1importlib.import_module("child1", parent)parent.import_module('child1')等都无济于事。

有什么建议吗?

谢谢

您可以尝试以这种方式组织文件:

parent (directory)-+
    __init__.py ---+
    child1.py   ---+
    child2.py   ---+

init .py 中,您可以从 child* 文件中导入,并且可以从父模块的外部导入。

示例__init__.py 它也可以是空的,但它必须存在。

from child1 import foo
from child2 import bar

从外面使用:

from parent import foo
or
from parent.child1 import foo

这并不能直接回答您的问题。 但是,在以上述方式重新组织文件后,请再次尝试使用 importlib。

您可以为此使用可选参数包:

importlib.import_module("child1", package="parent")

文档参考: https : //docs.python.org/3.7/library/importlib.html#importlib.import_module

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM