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