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 发送邮件实例代码
Dec 22 Python
python之matplotlib学习绘制动态更新图实例代码
Jan 23 Python
Python多线程扫描端口代码示例
Feb 09 Python
python统计多维数组的行数和列数实例
Jun 23 Python
解决python读取几千万行的大表内存问题
Jun 26 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
Face++ API实现手势识别系统设计
Nov 21 Python
Python 做曲线拟合和求积分的方法
Dec 29 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
Pycharm中import torch报错的快速解决方法
Mar 05 Python
python将dict中的unicode打印成中文实例
May 11 Python
Python Django form 组件动态从数据库取choices数据实例
May 19 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 Smarty初体验二 获取配置信息
2011/08/08 PHP
PHP小教程之实现链表
2014/06/09 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
Bootstrap每天必学之级联下拉菜单
2016/03/27 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
如何编写jquery插件
2017/03/29 jQuery
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
python切换hosts文件代码示例
2013/12/31 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python游戏开发的五个案例分享
2020/03/09 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
python 基于PYMYSQL使用MYSQL数据库
2020/12/24 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
网页设计个人找工作求职信
2013/11/28 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
司机个人年终总结
2015/03/03 职场文书
运动会主持人开幕词
2016/03/04 职场文书
导游词之无锡古运河
2019/11/14 职场文书
Win11查看设备管理器
2022/04/19 数码科技