编程艺术python importlib 动态调用 py 脚本方法
Posted 极智视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程艺术python importlib 动态调用 py 脚本方法相关的知识,希望对你有一定的参考价值。
欢迎关注我的公众号 [极智视界],回复001获取Google编程规范
O_o
>_<
o_O
O_o
~_~
o_O
本文介绍一下 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 的用法,希望我的分享能对你的学习有一点帮助。
【公众号传送】
扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !
以上是关于编程艺术python importlib 动态调用 py 脚本方法的主要内容,如果未能解决你的问题,请参考以下文章
在 python3 中使用 importlib 动态导入时出错
python importlib,如何使动态加载文件的缓存无效