Python 如何获得实时子流程输出?

Python 如何获得实时子流程输出?,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']

我试图在服务器上调用命令“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'])
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并继续将输出流的内容推送到浏览器