【发布时间】:2015-03-01 19:43:55
【问题描述】:
假设我们要动态导入脚本,即名称是在运行时构建的。我使用它来检测某些程序的插件脚本,因此脚本可能不存在并且导入可能会失败。
from importlib import import_module
# ...
subpackage_name = 'some' + dynamic() + 'string'
try:
subpackage = import_module(subpackage_name)
except ImportError:
print('No script found')
我们如何确保只捕捉插件脚本本身可能的导入失败,而不是插件脚本内部可能包含的导入?
旁注:this question 是相关的,但与静态导入有关(使用 import 关键字),并且提供的解决方案在这里不起作用。
【问题讨论】:
-
为什么不想从插件内部的导入中捕获错误?
-
如果脚本中有导入错误我想知道。我不想让它默默地过去,说没有找到脚本。
标签: python-3.x import importerror python-import