在python中执行字符串作为命令

时间:2009-02-05 19:23:05

标签: python django path

我在python中开发我的东西。在这个过程中我遇到了一个情况,我有一个名为“import django”的字符串。我想验证这个字符串。这意味着,我想检查所提到的模块(在这种情况下是'django')是否在python-path中。我该怎么办?

3 个答案:

答案 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)