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(一)Python环境安装
Aug 20 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
Python Flask 搭建微信小程序后台详解
May 06 Python
python实现socket+threading处理多连接的方法
Jul 23 Python
python同步两个文件夹下的内容
Aug 29 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
Sep 16 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
Python CSV文件模块的使用案例分析
Dec 21 Python
如何使用python代码操作git代码
Feb 29 Python
python中time tzset()函数实例用法
Feb 18 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
PHP 和 XML: 使用expat函数(三)
2006/10/09 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP实现简单的计算器
2020/08/28 PHP
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
python中Flask框架简单入门实例
2015/03/21 Python
Python中用于计算对数的log()方法
2015/05/15 Python
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
python数组过滤实现方法
2015/07/27 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
python 写一个水果忍者游戏
2021/01/13 Python
Unix控制后台进程都有哪些进程
2016/09/22 面试题
班级标语大全
2014/06/21 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
php png失真的原因及解决办法
2021/10/24 PHP
一起来学习Python的元组和列表
2022/03/13 Python