欢迎关注我的公众号 [极智视界]
本文介绍一下 python importlib 动态调用 py 脚本的方法。
使用 python 的 importlib.import_module() 方法能够动态加载 py 脚本,并调用里面的方法,这个操作在某些时候非常管用,功能类似 py 脚本里的 import xxx、from xxx import xxx。
来看一下这个方法怎么使用的。
假设有如下文件目录树:
- base.py
- model
-- model.py
-- utils
--- utils.py
其中 utils.py 中的内容有:
args = {'a':1}
class Block:
def block(self):
...
class Neck:
def neck(self):
...
如上,如果我们想要在 base.py 中调用 utils.py 中的方法,可以如下编写:
## base.py
import importlib
utils = importlib.import_module('model.utils.utils') # 绝对导入
utils_ = importlib.import_module('.model.utils',package = 'utils') # 相对导入
# 取出需要的对象
utils.args # 取出变量
utils.Block # 取出 class Block
utils.Block.block # 取出 class Block 中的 block 方法
utils.Neck # 取出 class Neck
utils.Neck.neck # 取出 class Neck 中的 neck 方法
这样就通过 importlib.import_module 达到了在 base.py 中调用 utils.py 里对象的目的。
以上分享了 python importlib.import_module 的用法,希望我的分享能对你的学习有一点帮助。
【公众号传送】
《【编程艺术】python importlib 动态调用 py 脚本方法》