Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析


Posted in Python onMarch 30, 2020

本文实例讲述了Python动态导入模块:__import__、importlib、动态导入的使用场景。分享给大家供大家参考,具体如下:

相关内容:

  • __import__
  • importlib
  • 动态导入的使用场景

首发时间:2018-02-23 16:06


__import__:

功能:

  • 是一个函数,可以在需要的时候动态导入模块

使用:

  • __import__(模块名)
  • 但对于多级目录,只会导入第一级Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
  • 目录结构:Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
  • Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
mo1=__import__("des")
mo2=__import__("child.child")
mo3=__import__("child")

print(mo1,mo2,mo3)#mo3与mo2相同

#同级目录使用模块对象来调用
mo1.B()
mo1.fun2()

#对于目录下的,动态导入只会导入第一级目录
mo2.child.A()#虽然没有具体定义类体,但无错就是成功
mo2.child.fun1()
mo3.child.fun1()

importlib:

介绍:

  • 是一个模块,可以进行动态导入模块

用法:

  • importlib.import_module("模块名")
import importlib
mo1= importlib.import_module('des')
mo2= importlib.import_module('child.child')
print(mo1,mo2)#mo2直接到child.child

des_B= mo1.B()
mo1.fun2()

mo2.fun1()

动态导入模块的使用场景:

  • 动态切换模块
  • 使用反射判断是否有对应类、方法,无则设置
import importlib
mo3= importlib.import_module('child')
def func4():
  print(" run in func4")

if hasattr(mo3,"child1"):
  print("yes")
  c=getattr(mo3,"child")
else: #没有则设置
  setattr(mo3,"func4",func4)

mo3.func4()
  • 其他。。。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
详解Python中dict与set的使用
Aug 10 Python
Python判断两个list是否是父子集关系的实例
May 04 Python
Python文件读写常见用法总结
Feb 22 Python
python中正则表达式与模式匹配
May 07 Python
python DataFrame转dict字典过程详解
Dec 26 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
Django如何使用redis作为缓存
May 21 Python
Python基于template实现字符串替换
Nov 27 Python
python中re模块知识点总结
Jan 17 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 Python
如何利用opencv判断两张图片是否相同详解
Jul 07 Python
Django 删除upload_to文件的步骤
Mar 30 #Python
python with语句的原理与用法详解
Mar 30 #Python
对django 2.x版本中models.ForeignKey()外键说明介绍
Mar 30 #Python
Python进程的通信Queue、Pipe实例分析
Mar 30 #Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 #Python
django 扩展user用户字段inlines方式
Mar 30 #Python
Python3标准库之threading进程中管理并发操作方法
Mar 30 #Python
You might like
分享PHP入门的学习方法
2007/01/02 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
vue移动端的左右滑动事件详解
2020/06/17 Javascript
js实现全选和全不选
2020/07/28 Javascript
Vue中父子组件的值传递与方法传递
2020/09/28 Javascript
python获取本机mac地址和ip地址的方法
2015/04/29 Python
Python读大数据txt
2016/03/28 Python
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Python使用functools实现注解同步方法
2018/02/06 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
会计系毕业个人自荐信格式
2013/09/23 职场文书
俄语专业毕业生推荐信
2013/10/28 职场文书
七年级英语教学反思
2014/01/15 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
商场消防安全责任书
2014/07/29 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
检讨书范文300字
2015/01/28 职场文书
工作简历自我评价
2015/03/11 职场文书
经理岗位职责范本
2015/04/15 职场文书
七年级作文之下雨天
2019/12/23 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python