用python写一个服务并注释,开放一个接口并注明接口地址,启动后,前端访问该接口时会输入堆场号,后将其赋予dch,并将dch作为参数,后启动我的automaster.py的程序,automaster.py程序接收参数后开始运行。另用代码说明我的程序如何接收参数。程序运行时,将运行产生的信息发送给前端。且运行过程中显示工作状态为:工作中,结束运行后显示:建模工作结束
时间: 2023-06-14 07:06:21 浏览: 189
以下是Python的服务代码:
```python
from flask import Flask, request, jsonify
import subprocess
app = Flask(__name__)
@app.routeapi/run_automaster', methods=['POST'])
def run_automaster():
dch = request.form.get('dch')
subprocess.Popen(['python', 'automaster.py', dch])
return jsonify({'message': 'Automaster is running.'}), 200
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
```
上述代码中,我们使用了 Flask 框架,创建了一个名为 `app` 的应用程序。我们定义了一个 `run_automaster` 的接口,并使用 POST 请求方法。在接口中,我们使用 `request.form.get('dch')` 获取前端传来的堆场号,并将其赋值给变量 `dch`。随后,我们使用 `subprocess.Popen` 启动了 `automaster.py` 程序,并将 `dch` 作为参数传递给该程序。最后,我们向前端返回了一个 JSON 格式的消息,表示程序已经开始运行。
接口地址为:`http://localhost:5000/api/run_automaster`
下面是 `automaster.py` 程序的代码:
```python
import sys
def main(dch):
# 程序接收参数的方式就是通过函数的参数传递
# 在这里我们可以使用 dch 这个参数进行运算
print('工作中...')
# 运行产生的信息可以使用 print 函数输出
print('建模工作结束')
if __name__ == '__main__':
main(sys.argv[1])
```
这个程序定义了一个名为 `main` 的函数,这个函数接收一个参数 `dch`,并在函数内部进行了一些运算和输出。在程序运行时,我们使用 `sys.argv[1]` 来获取命令行参数,并将其传递给 `main` 函数。在函数内部,我们使用 `print` 函数输出了一些信息,这些信息会被传递给前端。
注意,这个程序并没有实现与前端交互的功能,因此需要在 `run_automaster` 的接口中实现将运行产生的信息发送给前端的逻辑。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)