python - 如何使用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...
解决方案
您可以使用相对导入:
importlib.import_module('.config_A_2', 'scripts')
或者一个绝对的:
importlib.import_module('scripts.config_A_2', 'scripts')
推荐阅读
- javascript - 使用 rails 和 turbolinks 5 更改页面时出现 Froala 工具栏错误
- python - BeautifulSoup 异常中循环抓取 HTML 文件
- javascript - 如何解决“无法解析动态参数 x,将其视为静态参数”
- bash - bash 循环遍历并排的二维数组
- nancy - NancyFX 模块在被引导后立即被处理
- cluster-analysis - 并非所有点都在一个簇中时的聚类点
- javascript - 如何通过单击同一父 div 中的图像标签来定位隐藏的 div?Vanilla JS 事件监听器
- memory - USB 设备描述符存储在哪个内存中?
- here-api - 使用 Here Maps 向 KML 图层添加样式
- java - Jackson - 仅在满足条件时序列化值,忽略空值