![](/img/trans.png)
[英]ModuleNotFoundError with importlib.import_module for submodule
[英]Python: import submodule from importlib module
我有一个这样的目录:
parent.py ------+
child1.py---+
child2.py---+
... etc
我可以像这样导入父模块:
importlib.import_module("parent"))
那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么? 我试过parent.child1
、 importlib.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.