Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查所有导入的python模块中的代码更改_Python - Fatal编程技术网

检查所有导入的python模块中的代码更改

检查所有导入的python模块中的代码更改,python,Python,几乎每个pythonweb框架都有一个简单的服务器,它运行wsgi应用程序,并在每次更改源代码时自动重新加载导入的模块。我知道我可以看看代码,看看它是如何完成的,但这可能需要一些时间,我只是出于好奇而问。有人知道这是如何实现的吗?作为其中一种重载机制(werkzeug中的机制)的作者,我可以告诉你它不起作用。如果监视器线程注意到文件系统上的一个模块发生了更改,那么所有重载程序所做的就是一次分叉并重新启动子进程 内联reload()ing不起作用,因为对重新加载的模块的引用未更新。reload()

几乎每个pythonweb框架都有一个简单的服务器,它运行wsgi应用程序,并在每次更改源代码时自动重新加载导入的模块。我知道我可以看看代码,看看它是如何完成的,但这可能需要一些时间,我只是出于好奇而问。有人知道这是如何实现的吗?

作为其中一种重载机制(werkzeug中的机制)的作者,我可以告诉你它不起作用。如果监视器线程注意到文件系统上的一个模块发生了更改,那么所有重载程序所做的就是一次分叉并重新启动子进程

内联
reload()
ing不起作用,因为对重新加载的模块的引用未更新。

reload()不起作用。“重新加载”通常通过分叉实现

实现“真正的”reload()是极其困难的,即使是最认真的尝试也不是完美的