在CherryPy中启动浏览器

时间:2010-06-05 02:53:41

标签: python browser cherrypy

我有一个使用...

显示的html页面
cherrypy.quickstart(ShowHTML(htmlfile), config=configfile)

一旦页面加载(例如,通过命令'python mypage.py'启动),我想自动启动浏览器以显示页面(例如,通过。http://localhost/8000)。有什么方法可以实现这个目标(例如,通过CherryPy中的钩子),或者我是否必须手动调用浏览器(例如双击图标)?

TIA 艾伦

1 个答案:

答案 0 :(得分:4)

您可以将webbrowser挂钩到引擎启动/停止生命周期:

def browse():
    webbrowser.open("http://127.0.0.1:8080")
cherrypy.engine.subscribe('start', browse, priority=90)

或者,解压快速启动:

from cherrypy import config, engine, tree

config.update(configfile)
tree.mount(ShowHTML(htmlfile), '/', configfile)
if hasattr(engine, "signal_handler"):
    engine.signal_handler.subscribe()
if hasattr(engine, "console_control_handler"):
    engine.console_control_handler.subscribe()

engine.start()
webbrowser.open("http://127.0.0.1:8080")    
engine.block()