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 相关文章推荐
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
May 17 Python
Python基础中所出现的异常报错总结
Nov 19 Python
详解python中requirements.txt的一切
Mar 03 Python
Python字符串格式化的方法(两种)
Sep 19 Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 Python
Python3模拟登录操作实例分析
Mar 12 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
pytorch 修改预训练model实例
Jan 18 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
python如何利用paramiko执行服务器命令
Nov 07 Python
Python中的turtle画箭头,矩形,五角星
Mar 16 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
AngularJS 入门教程之事件处理器详解
2016/08/19 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
python类中super()和__init__()的区别
2016/10/18 Python
简单实现python进度条脚本
2017/12/18 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
python实现自动登录后台管理系统
2018/10/18 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
pandas 层次化索引的实现方法
2019/07/06 Python
使用Python实现 学生学籍管理系统
2019/11/26 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
校本教研工作制度
2014/01/22 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
初一新生军训方案
2014/05/22 职场文书
起诉状范本
2015/05/20 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
php中pcntl_fork详解
2021/04/01 PHP
redis限流的实际应用
2021/04/24 Redis
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers