python编程(动态加载)
2023-09-27 14:27:11 时间
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
脚本语言都有一个优点,就是动态加载。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.3 如果是目录中其他文件,则需要分别重新加载,比如
import sys
del sys.modules['module_name:sub_file']
__import__('module_name:sub_file')
或者是
reload(sys.modules['module_name:sub_file'])
4、类似的案例还包括如何从字符串找到函数名
getattr(sys.modules['__main__'], 'add')
大家可以多测试一下,有更好的办法的话也可以一起学习一下。
相关文章
- Python编程 基础练习(一)
- 数模线性规划问题基本原理及Python编程实现
- Python:分割all_data.txt---->train_data.txt、val_data.txt、test_data.txt
- 如何用Python检测伪造的视频
- Python新型字符串格式漏洞分析
- python小白社群之Python遇到excel-1
- Python核心编程在线学习
- Python开发指南:最佳实践精选
- [置顶] 和孩子们一起学Python编程
- 理解Python中编码的应用
- Datax-Web运行报错“/usr/bin/python: can't find '__main__' module in ''”
- Advanced Python多线程并发编程架构设计与代码实战
- 第11.13节 Python正则表达式的转义符””功能介绍
- python编程(pyautogui库)
- python编程(数据库操作)
- python编程(webpy + gunicorn + nginx部署)
- 很合适新手入门使用的Python游戏开发包pygame实例教程-02[如何控制飞行]
- Python numpy.zeros函数方法的使用
- 学编程先学Python?听听创造Python的人怎么说!
- python 图像融合
- python的random模块