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 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
Python常用模块介绍
Nov 21 Python
python开发中module模块用法实例分析
Nov 12 Python
python获取外网IP并发邮件的实现方法
Oct 01 Python
python通过微信发送邮件实现电脑关机
Jun 20 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
Jul 18 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
Jun 19 Python
如何爬取通过ajax加载数据的网站
Aug 15 Python
python利用while求100内的整数和方式
Nov 07 Python
Python 图片添加美颜效果
Apr 28 Python
在python中读取和写入CSV文件详情
Jun 28 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
php+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
jQuery插件扩展实例【添加回调函数】
2016/11/26 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
本科毕业生的求职信范文
2013/11/20 职场文书
离职保密承诺书
2014/05/28 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
2014年建筑工作总结
2014/11/26 职场文书
二手房购房意向书
2015/05/09 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL