我正在尝试importlib.import_module在Python 2.7.2中使用并遇到奇怪的错误。
importlib.import_module
考虑以下目录结构:
一种 | +-__init__.py -b | +-__init__.py -c.py
a/b/__init__.py 具有以下代码:
a/b/__init__.py
导入importlib mod = importlib.import_module(“ c”)
(在真实代码中"c"有一个名称。)
"c"
尝试到时import a.b,产生以下错误:
import a.b
>>>导入ab 追溯(最近一次通话): 文件“”,第1行,位于 在第3行的文件“ a / b / __ init__.py”中 mod = importlib.import_module(“ c”) import_module中的文件“ /opt/Python-2.7.2/lib/python2.7/importlib/__init__.py”,第37行 __import __(名称) ImportError:没有名为c的模块
我想念什么?
谢谢!
对于相对进口,您必须:
importlib.import_module('.c', 'a.b')
当然,您也可以只执行绝对导入:
importlib.import_module('a.b.c')