在 Flask 中执行 Python 脚本可以通过
subprocess
模块实现。
subprocess
模块提供了一个可以在 Python 脚本中执行命令行命令的接口。下面是一个简单的示例代码:
import subprocess
@app.route('/run_script')
def run_script():
script_path = 'path/to/your/script.py'
process = subprocess.Popen(['python', script_path], stdout=subprocess.PIPE)
output, error = process.communicate()
return f'Script output: {output}'
在这个示例中,我们首先指定了要运行的 Python 脚本的路径,然后使用 subprocess.Popen
函数启动一个子进程来运行这个脚本。subprocess.PIPE
参数可以让子进程的输出重定向到一个管道中。然后我们可以通过 process.communicate()
函数读取管道中的输出。最后我们把输出作为响应返回给客户端。
请注意,这个示例代码只是一个简单的演示,实际应用中可能需要更加复杂的逻辑来处理子进程的输出和错误,以及处理请求参数等。另外,使用 subprocess
模块需要格外注意安全性问题,例如避免用户输入造成的注入攻击。