【发布时间】:2021-11-03 14:39:43
【问题描述】:
我使用subprocess.Popen(['python', 'test.py']) 调用另一个脚本
如何在 Flask 中从另一个 python 脚本获取回调到 main?
我的代码是
from flask import Flask, render_template, request, redirect, url_for
import subprocess
app = Flask(__name__)
@app.route('/', methods=['POST', 'GET'])
def main():
global process
if request.method == 'POST':
index = request.form['index']
if index == 'start':
process = subprocess.Popen(['python', 'test.py'])
if index == 'stop':
###
# after click stop btn i want to get array from another py script
###
process.kill()
return redirect(url_for('main'))
return render_template('index.html')
app.run(debug=True)
【问题讨论】:
-
你可以从
test.py执行一个函数并将文件导入flask文件。在test.py中,您只需返回一些内容,然后将其保存在烧瓶路线的变量中。这是你想要达到的目标吗? -
你的意思是在主脚本中添加
import test.py? -
是的@Dmitry 从那里你可以执行类似
another.foo()的操作,然后返回你在another.py文件中定义的结果 -
你为什么使用子进程? Python 代码一般应该导入其他 Python 代码并调用它,而不是作为单独的进程执行。
标签: python subprocess