Rom*_*lus 6 python import module
我有一个脚本可以即时导入模块.由于模块名称在新版本出现后立即更改,因此很难检查脚本中是否也更改了特定模块名称.因此,我将模块名称保存在脚本的顶部,在变量中,如下例所示:
var1 = 'moduleName1_v04'
var2 = 'moduleName2_v08'
...................
import var1
...................
import var2
...................
Run Code Online (Sandbox Code Playgroud)
但如果我这样写,我会收到错误.
问题是:如何使用示例中的变量导入模块?可能吗?
是的,您可以通过以下方式轻松实现importlib.import_module
:
import importlib
module = importlib.import_module(var1)
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用__import__()
内置功能
>>> sys = __import__("sys")
>>> sys
<module 'sys' (built-in)>
Run Code Online (Sandbox Code Playgroud)
该__import__()
函数是解释器用于导入模块的函数.但是,不鼓励使用或修改它,以支持更简单,更安全的导入钩子,例如我上面提到的第一个.引用重要文档:
import语句调用此函数.它可以替换(通过导入builtins模块并分配给builtins .__ import__)以更改import语句的语义,但强烈建议不要这样做,因为使用导入钩子(参见PEP 302)通常更容易实现相同的目标,并不会导致代码的问题,假设默认导入实现正在使用中.不鼓励直接使用__import __()以支持importlib.import_module().
希望这可以帮助!
是的你可以。
例如,使用importlib.import_module
:
>>> var1 = 'sys'
>>> import importlib
>>> mod = importlib.import_module(var1)
>>> mod
<module 'sys' (built-in)>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
505 次 |
最近记录: |