python 动态加载的实现方法
脚本语言都有一个优点,就是动态加载。lua语言有这个优点,python也有这个特性。说简单点就是,如果开发者发现自己的代码有bug,那么他可以在不关闭原来代码的基础之上,动态替换模块。替换方法一般用reload来完成。
1、reload的基本原理
reload主要做了两个动作,删除原来的模块,添加新的模块
2、reload的等效代码
del sys.modules[module_name] __import__(module_name)
3、reload使用的时候要注意什么
3.1 reload的入口参数是module,不是字符串,即
import sys module = sys.modules[module_name]
3.2 重载的文件只是对应模块的__init__.py文件,如果是其他文件,则不会生效
3.3 如果是目录中其他文件,则需要分别重新加载,比如
import sys del sys.modules['module_name:sub_file'] __import__('module_name:sub_file')
或者是
reload(sys.modules['module_name:sub_file'])
总结
以上所述是小编给大家介绍的python 动态加载的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家的支持!
相关文章
python安装mysql的依赖包mysql-python操作
这篇文章主要介绍了python安装mysql的依赖包mysql-python操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-01-01tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
这篇文章主要介绍了tensorflow 2.1.0 安装与实战(CASIA FACE v5),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-06-06Python报错error: subprocess-exited-with-error解决办法
在Python开发中,遇到subprocess-exited-with-error通常是由依赖缺失、权限问题、环境配置错误或兼容性问题导致,修复方法包括安装依赖、使用虚拟环境、提升权限、检查路径和命令,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-10-10
最新评论