Python在函数中使用import,导入变量的内容而不是它的名字?

时间:2013-11-13 14:13:05

标签: python function import

我有一个检查模块是否已安装的功能,如果没有安装它。我通过函数传递扩展。但是,如何阻止它尝试导入变量名并使用其内容?

示例:

def importExtension(extension):
     try:
        import extension
    except:
        Do stuff
importExtension("blah")

1 个答案:

答案 0 :(得分:3)

使用importlibbackport)。

import importlib

def importExtension(extension):
     try:
        importlib.import_module(name)
    except:
        Do stuff
importExtension("blah")

另外,引用有关__import__(..)的文档:

  

这是日常Python编程中不需要的高级函数,与importlib.import_module()不同。