Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.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 Webpy:如何在源代码发生更改时自动重新加载源代码?_Python_Reload_Web.py - Fatal编程技术网

Python Webpy:如何在源代码发生更改时自动重新加载源代码?

Python Webpy:如何在源代码发生更改时自动重新加载源代码?,python,reload,web.py,Python,Reload,Web.py,我正在学习webpy编写代码。 我使用的是Webpy框架0.34。我的操作系统是ubuntu 11.04,python的版本是2.7。 在webpy.org网站上,它写道: “使用内置Web服务器运行时,它会启动应用程序 在调试模式下。在调试模式下,对代码和模板的任何更改都是无效的 自动重新加载“ 但它不起作用 my code.py与本教程的示例相同: #!/usr/bin/env python # -*- coding: utf-8 -*- import web class index():

我正在学习webpy编写代码。 我使用的是Webpy框架0.34。我的操作系统是ubuntu 11.04,python的版本是2.7。 在webpy.org网站上,它写道:

“使用内置Web服务器运行时,它会启动应用程序 在调试模式下。在调试模式下,对代码和模板的任何更改都是无效的 自动重新加载

但它不起作用

my code.py与本教程的示例相同:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import web
class index():
    def GET(self):
        return 'a'

if __name__ == '__main__':
    urls = ('/', 'index')
    app = web.application(urls, globals())
    app.run()
我正在使用内置Web服务器(已使用)

要启动服务器,请执行以下操作:

当我在web浏览器中将代码“return'a'”更改为“return'b'”时,它会一直显示“a”,直到我重新启动服务器

每次重新启动服务器重写代码都是浪费时间,为什么自动加载机制不起作用?我做错什么了吗?谢谢你的帮助


编辑:很抱歉,我的code.py与教程的示例不完全相同,这导致了问题。如果我把URL分配行放在if语句之外,重载机制就会工作

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import web

class index():
    def GET(self):
        return 'a'

urls = ('/', 'index')

if __name__ == '__main__':
    app = web.application(urls, globals())
    app.run()

但我不知道为什么…

我只有一个想法:你的编辑器不会改变修改文件的时间。尝试在代码修改后运行以下命令来强制更改时间戳,然后检查结果:

$ touch code.py

更改并保存代码后应刷新页面

尝试将以下内容添加到代码顶部(导入后):


有关详细信息:

如果您有像我这样的独立
route.py
文件,请不要这样设计文件:

from controllers.index import Index
urls = ('/','Index')
它不会在文档更改时重新加载,请改为执行以下操作:

urls = ('/','controllers.index.Index')

谢谢你的帮助,下次我会注意到还有另一个原因:时间戳改变了。非常感谢。
from controllers.index import Index
urls = ('/','Index')
urls = ('/','controllers.index.Index')