我希望代码更改能够在开发过程中立即生效。如何在运行的Python(2.7)应用程序中检测更改的文件并重新加载它们?
编辑:
在阅读'Ivo van der Wijk'链接的页面后,我认为最好在代码更改时重新启动Web应用程序 - 就像Django一样。所以实际问题是:How to monitor file modifications?
答案 0 :(得分:6)
答案 1 :(得分:3)
答案 2 :(得分:2)
这对大多数应用程序没有意义,因为使用reload
会产生副作用。此外,您花费在检测更改的代码上并重新加载所有模块的时间可能仅用于重新启动应用程序。如果您导入大量模块或包含许多子模块的项目,则会非常复杂。
在某些情况下,这是一个好主意。 Django Web框架提供了一个自动重新加载已更改模块的开发服务器(manage.py runserver
)。看一下django.utils.autoreload
- 它使用文件的修改时间测试所有Python文件的修改。如前所述,这对某些应用程序来说只是一个好主意。 Web应用程序有点无状态,因此可以重新加载,几乎没有副作用。