1

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

4

3 回答 3

14

我之前的回答是错误的——我没想过要测试我的代码。不过,这实际上是可行的:查看imp模块。

在当前 sys.path 中检查模块的可导入性:

try:
    imp.find_module('django', sys.path)
except ImportError:
    print "Boo! no django for you!"
于 2009-02-05T19:44:22.447 回答
1

我怀疑它是安全的,但它是最天真的解决方案:

try:
     exec('import django')
except ImportError:
    print('no django')
于 2009-02-05T19:30:45.393 回答
1

如果模块名称以字符串形式提供,则可以使用内置__import__函数导入它。

module = __import__("module name", {}, {}, [], -1)

例如,

os = __import__("os", {}, {}, [], -1)
于 2009-02-06T20:55:26.407 回答