How to import a module in Python with importlib.import_module
我试图在python2.7.2中使用
考虑以下dir结构:
1 2 3 4 5 6 7 | a | + - __init__.py - b | + - __init__.py - c.py |
1 2 3 | import importlib mod = importlib.import_module("c") |
(在实码中,
尝试
1 2 3 4 5 6 7 8 | >>> 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)明确提供锚
1importlib.import_module('.c', 'a.b')
当然,您也可以直接执行绝对导入:
1 | importlib.import_module('a.b.c') |
我认为最好使用
我还想知道,如果你必须使用
别忘了用每个文件夹/子文件夹(即使它们是空的)创建一个