这篇文章主要介绍了Python动态导入模块:__import__、importlib、动态导入详解,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
__import__
importlib
动态导入的使用场景
首发时间:2018-02-23 16:06
是一个函数,可以在需要的时候动态导入模块
__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.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主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
感谢你能够认真阅读完这篇文章,希望小编分享的“Python动态导入模块:__import__、importlib、动态导入详解”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。