python的热代码重载工具
Reloadr的Python项目详细描述
重载器
python热代码重载工具。
pip install reloadr
用法
您可以用@reloadr和 你准备好了。
fromreloadrimportreloadr@reloadrdefdo_something(a,b):returna+b@reloadrclassSomeThing:defdo_stuff(self):pass
然后,要重新加载代码,可以使用以下命令:
# Manual reloadSomeThing._reload()# Automatic reload using system (requires library 'watchdog')SomeThing._start_watch_reload()# Automatic reload in a thread every 1 secondSomeThing._start_timer_reload(1)
示例
启动一个示例(每个示例都包含一个无限循环),然后更改 修饰类或函数的源代码。
git clone https://github.com/hoh/reloadr.git
python examples/01_manual_reload.py
工作原理
而不是再次导入源文件,这可能会导致 effects,reloader在python源代码中获取函数的新代码 文件,并在已加载模块的环境中执行该代码。
这允许它重新加载代码,然后阻塞如下指令 作为无限循环,你可以在例子中找到。
为了实现这一点,reloader依赖于RedBaron,这是一个很好的操作工具 python源代码。
未来计划
这个项目还处于早期阶段。欢迎提出改进意见。