python - 执行Python代码时自动打开浏览器

标签 python flask localhost python-multithreading

我正在用 Python/Flask 实现一个 GUI。 flask 的设计方式,必须“手动”打开本地主机和端口号。

有没有办法让它自动化,以便在运行代码时自动打开浏览器(本地主机)?

我尝试使用 webbrowser 包,但它会在 session 终止后打开网页。

我还查看了以下帖子,但它们让我难以理解。

Shell script opening flask powered webpage opens two windows

python webbrowser.open(url)

根据用户输入呈现 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)

最佳答案

使用计时器启动新线程以打开网络浏览器。

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)

关于python - 执行Python代码时自动打开浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54235347/

相关文章:

python - 将具有特殊格式的文本文档转换为 Pandas DataFrame

python - 使用服务器发送的事件浏览器缓存以前的数据。如何防止浏览器缓存

python - 在python中查找给定日期的间隔

python - 回复 : How Can I Get Flask to Use GPIO Pins to Change the LED Brightness on Linux with a BeagleBone Black?

java - Servlet/Tomcat 文件路径

sockets - 127.0.0.1 和 localhost 有什么区别

Python:将长文本拆分为字符串 block ,给定字符限制

python - 使用 keycloak 进行 flask 应用程序 OAuth 登录的 ssl.SSLCertVerificationError

python - Flask 中的 JSON 数据是字符串还是字典?

ruby-on-rails - 在开发环境中使用 SSL/TLS 的 Rails 和 WebSockets