[英]Make a batch file to run python script for a certain amount of time and then auto-closes after
[英]Python Flask script auto-closes when run as .pyw file (workaround included)
我已经创建了一个基本的 python 脚本,使用 Flask 来呈现一个 HTML 页面。 在 Windows 10 上,该脚本作为*.py文件完美运行,但当作为*.pyw文件运行时,不会呈现页面。
在任务管理器中,python 的实例在以*.pyw运行脚本后几秒钟内打开和关闭。
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def main():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True, host="0.0.0.0", port=80)
运行*.py版本,并将以下几行添加到代码中:
import ctypes
...
...
...
if __name__ == '__main__':
cytypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 0)
app.run(debug=True, host="0.0.0.0", port=80)
上面的代码隐藏了控制台,并成功启动了 Flask 应用程序。
但是,如果有人有想法,我仍然对解释为什么*.pyw方法不起作用感兴趣。
.pyw-files 将在pythonw.exe
而不是python.exe
。 不同之处在于, pythonw.exe
默认不在控制台中运行, pythonw.exe
异步运行。 这意味着烧瓶在后台启动并运行,直到其他一切都终止。 由于您的应用程序中没有其他任何内容,因此程序直接结束。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.