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

标签 python function import

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

示例:

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

最佳答案

使用importlib (backport)。

import importlib

def importExtension(extension):
     try:
        importlib.import_module(name)
    except:
        Do stuff
importExtension("blah")
<小时/>

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

This is an advanced function that is not needed in everyday Python programming, unlike importlib.import_module().

关于Python在函数中使用导入,导入变量的内容而不是它的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955980/

相关文章:

python - 如何在 Python 中正确比较来自 psycopg2 的 unicode 字符串?

mysql - 为什么使用 phpmyadmin 导入或 bigdump 将 sql 文件上传到 mysql 数据库不使用 CPU 时间但速度太慢了

mysql - phpmyadmin导入数据库时​​出错

python - 在 Python 中可视化点与 4d 球体的邻近度

python - 将 spacy(python) 标记写入 excel 文件

excel - 向下拖动标记列时防止单元格引用迭代

javascript - 多种JQuery点击功能

matlab - 不断收到无效的表达错误

javascript - 如何使用 ESLint 通过特定文件夹的绝对路径限制模块的导入

python - 当属性用作装饰器时,setter 不会引发异常