我需要帮助,以获得不导入模块的名称,而这样做获取已导入失败
这样的代码是当前模块的名称:
#!/usr/bin/env python
bla=[]
try:
import os
import sys
import somethings
import blabla
except:
bla.append(NOT_IMPORTED_MODULE_NAME) # it should be here
if len(bla)>0:
exit("not imported:%s" % " ".join(bla))
谢谢你提前
您的代码将在第一次失败的导入时停止。你的堆栈跟踪会告诉你哪个模块会失败。如果你真的想,你可以解析出字符串来获取模块名称。但是,这可能是一个更好的方法为你:http://stackoverflow.com/questions/14050281/how-to-check-if-a-python-module-exists-without-importing-it – idjaw
@idjaw所以有没有办法做到这一点? – script0r
我还没有找到一个理由来做到这一点,所以我从来没有真正分析过这一点。我发布的链接看起来像我想做的事情。请记住,如果引发异常,您的代码将停止运行,因此现在编写代码的方式会失败,并且不会报告blabla。 – idjaw