Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析

 更新时间:2020年03月30日 10:11:41   作者:随风行云  
这篇文章主要介绍了Python动态导入模块:__import__、importlib、动态导入的使用场景,结合实例形式分析了Python动态导入模块__import__、importlib基本概念、原理及动态导入的具体应用操作技巧,需要的朋友可以参考下

本文实例讲述了Python动态导入模块:__import__、importlib、动态导入的使用场景。分享给大家供大家参考,具体如下:

相关内容:

  • __import__
  • importlib
  • 动态导入的使用场景

首发时间:2018-02-23 16:06


__import__:

功能:

  • 是一个函数,可以在需要的时候动态导入模块

使用:

  • __import__(模块名)
  • 但对于多级目录,只会导入第一级image
  • 目录结构:image
  • imageimage
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文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • python文件和目录操作函数小结

    python文件和目录操作函数小结

    这篇文章主要介绍了python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法,需要的朋友可以参考下
    2014-07-07
  • Python 含参构造函数实例详解

    Python 含参构造函数实例详解

    这篇文章主要介绍了Python 含参构造函数实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • 对python中Json与object转化的方法详解

    对python中Json与object转化的方法详解

    今天小编就为大家分享一篇对python中Json与object转化的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python处理菜单消息操作示例【基于win32ui模块】

    Python处理菜单消息操作示例【基于win32ui模块】

    这篇文章主要介绍了Python处理菜单消息操作,结合实例形式分析了Python基于win32ui模块实现菜单的创建及菜单项响应相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • mac下给python3安装requests库和scrapy库的实例

    mac下给python3安装requests库和scrapy库的实例

    今天小编就为大家分享一篇mac下给python3安装requests库和scrapy库的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python用list或dict字段模式读取文件的方法

    Python用list或dict字段模式读取文件的方法

    这篇文章主要给大家介绍了Python利用list字段模式或者dict字段模式读取文件的方法,文中给出了详细的介绍和示例代码,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友可以跟着小编来一起学习学习吧。
    2017-01-01
  • 远程部署工具Fabric详解(支持Python3)

    远程部署工具Fabric详解(支持Python3)

    这篇文章主要介绍了远程部署神器 Fabric,支持Python3 ,Fabric 出场了。Fabric 是一个远程部署神器,它可以在本地执行远程服务器的命令。,需要的朋友可以参考下
    2019-07-07
  • Python实现列表中非负数保留,负数转化为指定的数值方式

    Python实现列表中非负数保留,负数转化为指定的数值方式

    这篇文章主要介绍了Python实现列表中非负数保留,负数转化为指定的数值方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 基于Python实现人机PK小游戏

    基于Python实现人机PK小游戏

    这篇文章主要为大家详细介绍了如何基于Python实现人机PK小游戏,简单来说,就是随机生成玩家和敌人的属性,同时互相攻击,直至一方血量小于零,感兴趣的小伙伴可以学习一下
    2023-06-06
  • Python新手如何理解循环加载模块

    Python新手如何理解循环加载模块

    在本篇文章里小编给大家整理了关于Python新手如何理解循环加载模块相关知识点,有需要的朋友们可以学习下。
    2020-05-05

最新评论