Discuss / Python / watchdog棒棒的

watchdog棒棒的

Topic source

我的项目结构和大家不太一样,www外层有一个src目录作为源代码目录,大概是创建的时候手滑了。 项目位于pycharm创建的一个virtualenv中,在代码中我使用python3的相对导入,所以运行的时候需要注意使用 -m选项。 于是我机智的把pymonitor.py 提到了与 www/ 目录平级,再修改一下和别人不一样的地方。 然后它就运行起来了。

if __name__ == "__main__":
    argv = sys.argv[1:]
    if not argv:
        print('Usage: pymonitor your-script.py')
        exit(0)
    if argv[0] != 'python3':
        argv.insert(0,r'E:\Users\clusmy\PycharmProjects\venv\Scripts\python.exe')
    command = argv
    logging.info("command: %s " % command)
    path = os.path.abspath('.')
    start_watch(path,None)


e:\> E:\Users\clusmy\PycharmProjects\venv\Scripts\python.exe E:/Users/clusmy/PycharmProjects/awesome_webapp/src/pymonitor.py -m www.app

[Monitor] Watching directory E:\Users\clusmy\PycharmProjects\awesome_webapp\src...
[Monitor] Start process E:\Users\clusmy\PycharmProjects\venv\Scripts\python.exe -m www.app...
......
[Monitor] Python source file changed: E:\Users\clusmy\PycharmProjects\awesome_webapp\src\www\apis.py
[Monitor] Kill process [5480]...
[Monitor] Process ended with code 1
[Monitor] Start process E:\Users\clusmy\PycharmProjects\venv\Scripts\python.exe -m www.app...
[Monitor] Python source file changed: E:\Users\clusmy\PycharmProjects\awesome_webapp\src\www\apis.py
[Monitor] Kill process [1884]...
[Monitor] Process ended with code 1
[Monitor] Start process E:\Users\clusmy\PycharmProjects\venv\Scripts\python.exe -m www.app...
INFO:root:found model: User (table:users)
INFO:root: found mapping: passwd --> <StringField,varcahr(50):None>
INFO:root: found mapping: image --> <StringField,varcahr(50):None>
......
INFO:root:add route GET /signout => signout(request)
INFO:root:add route GET /sse => sse()
INFO:root:add static /static => E:\Users\clusmy\PycharmProjects\awesome_webapp\src\www\static
INFO:root:server started at http://127.0.0.1:9000

灰_手

#2 Created at ... [Delete] [Delete and Lock User]

watchdog只能处理后端的,虽然会重启线程,但并不会自动刷新浏览器 介绍以下两个神器 LiveReload:改动php, html,css,js都能重刷chrome LiveStyle:css双向绑定,在chrome改动css,代码自动更新;或者在代码改动css,chrome自动更新

灰手一个多月前回复的,今天我才看见。 懒人改变世界,liveReload是个前端开发利器。 watchdog + selenium 应该能和liveReload一战。

Wizard_Zyklop

#4 Created at ... [Delete] [Delete and Lock User]

进程连续重启两次这正常么,我也是同样的情况。

EchoSomeTH

#5 Created at ... [Delete] [Delete and Lock User]

果然啊!!win就是坑啊!


  • 1

Reply