python 动态加载的实现方法
发布时间:2020-12-17 07:39:43 所属栏目:Python 来源:网络整理
导读:脚本语言都有一个优点,就是动态加载。lua语言有这个优点,python也有这个特性。说简单点就是,如果开发者发现自己的代码有bug,那么他可以在不关闭原来代码的基础之上,动态替换模块。替换方法一般用reload来完成。 1、reload的基本原理 reload主要做了两个
脚本语言都有一个优点,就是动态加载。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 动态加载的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |