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分割TXT文件成4K的TXT文件
May 23 Python
Python最基本的数据类型以及对元组的介绍
Apr 14 Python
python实现复制整个目录的方法
May 12 Python
在Django的视图中使用form对象的方法
Jul 18 Python
python列表的增删改查实例代码
Jan 30 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
python之生产者消费者模型实现详解
Jul 27 Python
python运用sklearn实现KNN分类算法
Oct 16 Python
将tensorflow模型打包成PB文件及PB文件读取方式
Jan 23 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
python基础之错误和异常处理
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
十天学会php之第四天
2006/10/09 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
php外部执行命令函数用法小结
2016/10/11 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)
2010/03/01 Javascript
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
玩转方法:call和apply
2014/05/08 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
Bootstrap基础学习
2015/06/16 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
vue-cli2.9.3 详细教程
2018/04/23 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
PyCharm 常用快捷键和设置方法
2017/12/20 Python
python开发之anaconda以及win7下安装gensim的方法
2019/07/05 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
十八大报告观后感
2014/01/28 职场文书
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
MySQL 5.7常见数据类型
2021/07/15 MySQL
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js
python 镜像环境搭建总结
2022/09/23 Python