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实现目录树生成示例
Mar 28 Python
python中__call__内置函数用法实例
Jun 04 Python
Python语言生成水仙花数代码示例
Dec 18 Python
python实现员工管理系统
Jan 11 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
Jun 13 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
Sep 06 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
浅谈keras使用中val_acc和acc值不同步的思考
Jun 18 Python
python可以用哪些数据库
Jun 22 Python
python基于win32api实现键盘输入
Dec 09 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
Thinkphp多文件上传实现方法
2014/10/31 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
Python中删除文件的程序代码
2011/03/13 Python
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python字符串转换成浮点数函数分享
2015/07/24 Python
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
2016/04/13 面试题
八年级历史教学反思
2014/01/10 职场文书
趣味运动会广播稿
2015/08/19 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技