我在python中开发我的东西。在这个过程中我遇到了一个情况,我有一个名为“import django”的字符串。我想验证这个字符串。这意味着,我想检查所提到的模块(在这种情况下是'django')是否在python-path中。我该怎么办?
答案 0 :(得分:14)
我之前的回答是错误的 - 我没想过要测试我的代码。但这确实有效:查看imp模块。
只检查当前sys.path中模块的可导入性:
try:
imp.find_module('django', sys.path)
except ImportError:
print "Boo! no django for you!"
答案 1 :(得分:1)
我怀疑这是否安全,但这是最天真的解决方案:
try:
exec('import django')
except ImportError:
print('no django')
答案 2 :(得分:1)
如果模块的名称可用作字符串,则可以使用内置的__import__
函数将其导入。
module = __import__("module name", {}, {}, [], -1)
例如,
os = __import__("os", {}, {}, [], -1)