Flask 끝점을 통해 스크립트의 stdout을 스트리밍하려고합니다.Popask in Flask가 파이썬 인터프리터를 시작합니다.
난 this 그래서 내 시작점으로 대답을 사용하고 있습니다. 그 스크립트는 나에게 잘 돌아갔다. 이 코드는 "dmesg"대신 Python 스크립트를 직접 호출하는 것을 제외하고는 사실상 그 대답과 동일합니다. 내가 이동하면 myscript.py이
import subprocess
def main():
subprocess.Popen(['dmesg'], shell=True, stdout=subprocess.PIPE)
if __name__ == '__main__':
main()
나는 "이 페이지에 도달 할 수 없습니다"라는 오류가 브라우저에서 "/ 수율"플라스크 테스트 서버에로 떨어
@app.route('/yield')
def index():
def inner():
proc = subprocess.Popen(
['python', 'myscript.py'],
shell=True,
stdout=subprocess.PIPE
)
for line in iter(proc.stdout.readline,''):
time.sleep(1)
yield line.rstrip() + '<br/>\n'
return Flask.Response(inner(), mimetype='text/html')
파이썬 인터프리터 (아래 참조).
* Running on http://0.0.0.0:7000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger pin code: 262-399-135
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
나는 플라스크를 통해 스트리밍 파이썬 스크립트를 호출 위의 무엇을 해결할 수 있습니까?
'yield'는 내부 함수에 있어야합니다. – syntonym
@syntonym 그게 내 질문에 오타이야. 지금 고치고있어. 수율은 내 실제 함수의 내부 함수입니다. – ABM
''myscript.py'에 끝 인용 부호가 누락되었습니다 - 게시물이나 코드에 오타가 있습니까? – CAB