1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python动态导入模块_Python动态导入模块:__import__ importlib 动态导入的使用场景实例分析...

python动态导入模块_Python动态导入模块:__import__ importlib 动态导入的使用场景实例分析...

时间:2023-04-20 21:35:51

相关推荐

python动态导入模块_Python动态导入模块:__import__ importlib 动态导入的使用场景实例分析...

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

相关内容:

__import__

importlib

动态导入的使用场景

首发时间:-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程序设计有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。