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的类变量和成员变量用法实例教程
Aug 25 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
一百多行python代码实现抢票助手
Sep 25 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
Python错误的处理方法
Jun 23 Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
python单例模式的应用场景实例讲解
Feb 24 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 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 缓存函数代码
2008/08/27 PHP
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
Array.prototype 的泛型应用分析
2010/04/30 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
$("").click与onclick的区别示例介绍
2014/09/25 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
Python3.x中自定义比较函数
2015/04/24 Python
python基础知识小结之集合
2015/11/25 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
深入了解python中元类的相关知识
2019/08/29 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
高级Java程序员面试题
2016/06/23 面试题
实习老师个人总结的自我评价
2013/09/28 职场文书
个性与发展自我评价
2014/02/11 职场文书
镇创先争优活动总结
2014/08/28 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
技术入股协议书
2016/03/22 职场文书
Python+Tkinter制作专属图形化界面
2022/04/01 Python
我的收音机情缘
2022/04/05 无线电
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang
Golang 并发编程 SingleFlight模式
2022/04/26 Golang