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进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
在Python的struct模块中进行数据格式转换的方法
Jun 17 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
python中redis的安装和使用
Dec 04 Python
python中返回矩阵的行列方法
Apr 04 Python
Python3 利用face_recognition实现人脸识别的方法
Mar 13 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
python如何调用字典的key
May 25 Python
Python通过队列来实现进程间通信的示例
Oct 14 Python
python爬虫调度器用法及实例代码
Nov 30 Python
python OpenCV学习笔记
Mar 31 Python
pytorch实现线性回归以及多元回归
Apr 11 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中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
python支持断点续传的多线程下载示例
2014/01/16 Python
python中执行shell命令的几个方法小结
2014/09/18 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
python实现图片识别汽车功能
2018/11/30 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
Django模板语言 Tags使用详解
2019/09/09 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
2014自荐信的写作技巧
2014/01/28 职场文书
公司股权转让协议书
2014/04/12 职场文书
无私奉献演讲稿
2014/09/04 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
小程序实现筛子抽奖
2021/05/26 Javascript