首页 > 解决方案 > 如何使用importlib在python中动态导入模块?

问题描述

在 python 3.6.2 中,我正在尝试使用importlib. 我可以直接将模块导入为:

from scripts import config_A_2

但是当尝试importlib如下

module = importlib.import_module('config_A_2', 'scripts')

我收到一个错误

 File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 948, in _find_and_load_unlocked    
ModuleNotFoundError: No module named 'config_A_2'

也许我importlib以错误的方式使用?

信息:它是一个 Mac...

标签: pythonpython-3.ximport

解决方案


您可以使用相对导入:

importlib.import_module('.config_A_2', 'scripts')

或者一个绝对的:

importlib.import_module('scripts.config_A_2', 'scripts')

推荐阅读