我正在尝试使用 importlib.import_module
在 Python 2.7.2 中遇到奇怪的错误。
考虑以下目录结构:
a | + - __init__.py - b | + - __init__.py - c.py
a/b/__init__.py
有如下代码:
import importlib mod = importlib.import_module("c")
(在实际代码中“c”
有名字。)
尝试import a.b
,产生以下错误:
>>> import a.b Traceback (most recent call last): File "", line 1, in File "a/b/__init__.py", line 3, in mod = importlib.import_module("c") File "/opt/Python-2.7.2/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) ImportError: No module named c
我错过了什么?
谢谢!
最佳答案
对于相对导入,您必须:
- a) 使用相对名称
b) 明确提供 anchor
importlib.import_module('.c', 'a.b')
当然,你也可以只做绝对导入:
importlib.import_module('a.b.c')
关于python - 如何使用 importlib.import_module 在 Python 中导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675054/