2
我想导入Python模块(如果存在),但如果不存在则忽略ImportError
。但是,如果导入的模块本身产生了ImportError
,这个错误也将被忽略,这不是我所需要的(即如果模块存在,但有一些错误,我想知道)。检测导入模块中的导入错误
for app in INSTALLED_APPS:
try:
module = __import__('{}.mycustommodule'.format(app))
# Do something with it
except ImportError:
traceback = sys.exc_info()[2]
if (?): # if the exception occurred in app.mycustommodel, raise
raise
pass # otherwise, ignore
我检查了文档为sys.exc_info和traceback,但没有发现任何有用的信息。如何才能做到这一点?
听起来像它可能是实施和/或释放依赖如果它没有记录。 – martineau 2013-02-16 03:54:33
@martineau好点,我会留意这个!我可以在几种不同的环境中测试它(CPython,PyPy)并查看是否有任何差异。 – mgibsonbr 2013-02-16 03:58:26