Python 如何获得实时子流程输出?
我试图在服务器上调用命令“tail-f”,以便在这个html页面中实时显示。在这种情况下没有成功,只有简单的输出命令,即时转换。如何使用烧瓶中的子流程来实时命令输出 app.pyPython 如何获得实时子流程输出?,python,html,linux,flask,Python,Html,Linux,Flask,我试图在服务器上调用命令“tail-f”,以便在这个html页面中实时显示。在这种情况下没有成功,只有简单的输出命令,即时转换。如何使用烧瓶中的子流程来实时命令输出 app.py from subprocess import Popen,PIPE from flask import Flask, render_template,request, app = Flask(__name__) @app.route( "/", methods=['GET', 'POST']
from subprocess import Popen,PIPE
from flask import Flask, render_template,request,
app = Flask(__name__)
@app.route( "/", methods=['GET', 'POST'])
def index():
return render_template('index.html')
@app.route('/page', methods=['GET', 'POST'])
def fist():
with Popen(['tail-f','/var/log/syslog'],stdout=PIPE,stderr=PIPE) as a:
out,err = a.communicate()
data0 = out.decode('utf-8')
return render_template('page.html',data0=data0)
if __name__ == "__main__":
app.run(debug=True)
page.html
<!DOCTYPE html>
<html>
<head>
<style>
.exit_data{
overflow: hidden;
width: auto;
height: auto;
overflow-y: scroll;
background-color: white;
}
</style>
<title>Page TEST</title>
<body>
<div>
<h2>TEST OUTPUT</h2>
</div>
<div class="exit_data">
{{data0}}
</div>
</body>
</head>
</html>
{{end}}
.exit_数据{
溢出:隐藏;
宽度:自动;
高度:自动;
溢出y:滚动;
背景色:白色;
}
页面测试
测试输出
{{data0}}
{{end}
您应该使用websocket并继续将输出流的内容推送到浏览器