python 动态加载的实现方法


Posted in Python onDecember 22, 2017

脚本语言都有一个优点,就是动态加载。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 相关文章推荐
python基于queue和threading实现多线程下载实例
Oct 08 Python
复习Python中的字符串知识点
Apr 14 Python
浅谈Python peewee 使用经验
Oct 20 Python
python+opencv实现动态物体追踪
Jan 09 Python
PyTorch 1.0 正式版已经发布了
Dec 13 Python
python实现五子棋小游戏
Mar 25 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
Django Form 实时从数据库中获取数据的操作方法
Jul 25 Python
pytorch自定义初始化权重的方法
Aug 17 Python
将python字符串转化成长表达式的函数eval实例
May 11 Python
python自定义函数def的应用详解
Jun 03 Python
Python使用内置函数setattr设置对象的属性值
Oct 16 Python
Python决策树分类算法学习
Dec 22 #Python
Python之Scrapy爬虫框架安装及简单使用详解
Dec 22 #Python
Python2.7下安装Scrapy框架步骤教程
Dec 22 #Python
Python机器学习之决策树算法
Dec 22 #Python
python+selenium实现登录账户后自动点击的示例
Dec 22 #Python
python实现决策树
Dec 21 #Python
python利用sklearn包编写决策树源代码
Dec 21 #Python
You might like
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
js parseInt("08")未指定进位制问题
2010/06/19 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Python yield 使用方法浅析
2017/05/20 Python
答题辅助python代码实现
2018/01/16 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
python自动发送邮件脚本
2018/06/20 Python
Python生成器generator用法示例
2018/08/10 Python
python同时遍历数组的索引和值的实例
2018/11/15 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
css3 矩阵的使用详解
2018/03/20 HTML / CSS
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
店长职务说明书
2014/02/04 职场文书
食品安全工作方案
2014/05/07 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
专职安全员岗位职责
2015/04/11 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript