我正在Python/Flask中实现一个GUI。按照烧瓶的设计方式,本地主机和端口号必须“手动”打开。
是否有一种方法使其自动化,以便在运行代码时自动打开浏览器(本地主机)?
我尝试使用webbrowser包,但它在会话结束后打开网页。
我也看了下面的帖子,但它们在我的头上。
Shell script opening flask powered webpage opens two windows
当基于用户输入呈现html页面时会出现问题。
提前谢谢。
import webbrowser
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
webbrowser.open_new('http://127.0.0.1:2000/')
app.run(port=2000)
发布于 2019-01-17 11:58:31
使用计时器启动新线程以打开web浏览器。
import webbrowser
from threading import Timer
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
def open_browser():
webbrowser.open_new("http://127.0.0.1:5000")
if __name__ == "__main__":
Timer(1, open_browser).start()
app.run(port=2000)
发布于 2020-08-02 13:52:33
我建议进行以下改进,以便在调试模式下加载浏览器:
受https://stackoverflow.com/a/9476701/10521959启发,将只在第一次运行时加载浏览器.
def main():
# The reloader has not yet run - open the browser
if not os.environ.get("WERKZEUG_RUN_MAIN"):
webbrowser.open_new('http://127.0.0.1:2000/')
# Otherwise, continue as normal
app.run(host="127.0.0.1", port=2000)
if __name__ == '__main__':
main()
https://stackoverflow.com/questions/54235347
复制相似问题