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的Flask框架实现视频的流媒体传输
Mar 31 Python
python复制文件的方法实例详解
May 22 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
python版百度语音识别功能
Jul 09 Python
PyCharm第一次安装及使用教程
Jan 08 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
Feb 07 Python
Pycharm编辑器功能之代码折叠效果的实现代码
Oct 15 Python
详解python的super()的作用和原理
Oct 29 Python
Python urllib3软件包的使用说明
Nov 18 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 Python
python中编写函数并调用的知识点总结
Jan 13 Python
python 标准库原理与用法详解之os.path篇
Oct 24 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
php 表单数据的获取代码
2009/03/10 PHP
解析php中heredoc的使用方法
2013/06/17 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
微信小程序 前端源码逻辑和工作流详解
2016/10/08 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python3 能振兴 Python的原因分析
2014/11/28 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
python中for用来遍历range函数的方法
2018/06/08 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
中专自我鉴定范文
2013/10/16 职场文书
函授大专自我鉴定
2013/11/01 职场文书
学前教育毕业生自荐信范文
2013/12/24 职场文书
接受捐赠答谢词
2014/01/27 职场文书
电子装配专业毕业生求职信
2014/04/23 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS