关于importlib 动态加载的使用
项目中有关于对Python包动态加载的需求,而且要求是不局限于当前目录下的全局导包,而且要能支持包更新,源程序同步更新
这里使用到了importlib这个包,先放出工具类
其实这边有几种导出场景是需要注意的,场景如下
前提A包为当前读取包,B包为历史已读入过的包 F为所需读取的函数(✅为相同 ❌为不同)
Pkg路径 | Module路径 | 函数名 | 结果 |
---|---|---|---|
❌ | ❌ | ❌ | A包有则成功,否则报错 |
❌ | ❌ | ✅ | A包有则成功,否则报错 |
❌ | ✅ | ❌ | 假如A包有F函数则读A包的F函数,否则读B包的F函数,均无则报错 |
✅ | ❌ | ❌or ✅ | A包有则成功,否则报错 |