本问题已经有最佳答案,请猛点这里访问。
我有一个即时导入模块的脚本。由于模块名称会在新版本出现时立即更改,因此很难检查脚本中的特定模块名称是否也发生了更改。因此,我将模块名保存在脚本顶部的变量中,如本例中所示:
var1 = 'moduleName1_v04'
var2 = 'moduleName2_v08'
...................
import var1
...................
import var2
...................
但是如果我这样写,我会得到一个错误。
问题是:如何使用示例中的变量导入模块?有可能吗?
是的,您可以很容易地通过使用importlib.import_module来实现这一点:
import importlib
module = importlib.import_module(var1)
或者,您可以使用__import__()内置函数
>>> sys = __import__("sys")
>>> sys
__import__()函数是解释器用来导入模块的函数。但是,不鼓励使用或修改这个来支持更简单、更安全的导入钩子,比如我前面提到的第一个钩子。引用重要文件:
This function is invoked by the import statement. It can be replaced
(by importing the builtins module and