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操作sqlite的CRUD实例分析
May 08 Python
Python之父谈Python的未来形式
Jul 01 Python
Python实现Logger打印功能的方法详解
Sep 01 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
python 格式化输出百分号的方法
Jan 20 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
在PYQT5中QscrollArea(滚动条)的使用方法
Jun 14 Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
用python对oracle进行简单性能测试
Dec 05 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 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
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
jQuery表格插件datatables用法总结
2014/09/05 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
python监控文件并且发送告警邮件
2018/06/21 Python
Python3爬楼梯算法示例
2019/03/04 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
tensorflow 查看梯度方式
2020/02/04 Python
Python验证码截取识别代码实例
2020/05/16 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
市场营销职业生涯规划书范文
2014/01/12 职场文书
跳蚤市场口号
2014/06/13 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
2015年教研组工作总结
2015/05/04 职场文书
小学数学教学反思范文
2016/02/16 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
vue里使用create, mounted调用方法
2022/04/26 Vue.js