编程艺术python importlib 动态调用 py 脚本方法

Posted 极智视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程艺术python importlib 动态调用 py 脚本方法相关的知识,希望对你有一定的参考价值。

欢迎关注我的公众号 [极智视界],回复001获取Google编程规范

O_o>_<o_OO_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 的用法,希望我的分享能对你的学习有一点帮助。


 【公众号传送】

《【编程艺术】python importlib 动态调用 py 脚本方法》


扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !

以上是关于编程艺术python importlib 动态调用 py 脚本方法的主要内容,如果未能解决你的问题,请参考以下文章

Python importlib 动态加载模块

在 python3 中使用 importlib 动态导入时出错

python importlib,如何使动态加载文件的缓存无效

Python Socket网络编程

Python Importlib.import_module动态导入模块

[Python系列-26]:importlib - 动态导入其他python模块库