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+mongodb数据抓取详细介绍
Oct 25 Python
python如何在列表、字典中筛选数据
Mar 19 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
Jan 04 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
Python常用库大全及简要说明
Jan 17 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
在python中使用nohup命令说明
Apr 16 Python
基于python爬取梨视频实现过程解析
Nov 09 Python
python爬虫scrapy图书分类实例讲解
Nov 23 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
Nov 29 Python
Python 阶乘详解
Oct 05 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设计模式 Delegation(委托模式)
2011/06/26 PHP
php中session与cookie的比较
2015/01/27 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
Javascript计算时间差的函数分享
2011/07/04 Javascript
JS表的模拟方法
2015/02/05 Javascript
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
Python判断变量是否已经定义的方法
2014/08/18 Python
在Python中使用__slots__方法的详细教程
2015/04/28 Python
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
Python 的描述符 descriptor详解
2016/02/27 Python
python绘制简单彩虹图
2018/11/19 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
2014年情人节活动方案
2014/02/16 职场文书
租赁意向书范本
2014/04/01 职场文书
党支部三会一课计划
2014/09/24 职场文书
乡镇干部个人对照检查材料思想汇报(原创篇)
2014/09/28 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python
python实现会员信息管理系统(List)
2022/03/18 Python