如何使用Python的__import__、importlib实现模块的动态导入?

2026-05-26 22:541阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计511个文字,预计阅读时间需要3分钟。

如何使用Python的__import__、importlib实现模块的动态导入?

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

相关内容:- __import__、importlib、动态导入的使用场景- 首发时间:2018-02

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

相关内容:

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

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


__import__:

功能:

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

使用:

  • __import__(模块名)
  • 但对于多级目录,只会导入第一级
  • 目录结构:

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的__import__、importlib实现模块的动态导入?

本文共计511个文字,预计阅读时间需要3分钟。

如何使用Python的__import__、importlib实现模块的动态导入?

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

相关内容:- __import__、importlib、动态导入的使用场景- 首发时间:2018-02

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

相关内容:

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

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


__import__:

功能:

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

使用:

  • __import__(模块名)
  • 但对于多级目录,只会导入第一级
  • 目录结构:

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的__import__、importlib实现模块的动态导入?