用python写一个服务并注释,开放一个接口http://192.168.1.226:5000/dezip,启动后,前端访问该接口时输入dch,然后前端上传压缩文件夹,程序接收dch并将其作为参数,后将收到的文件解压,解压后,将解压生成文件中的子文件夹复制到当前项目下的"'dch'+duichang"文件夹中,后将解压文件夹和压缩文件夹删除
时间: 2023-06-20 08:04:55 浏览: 45
好的,以下是实现这个服务的Python代码,注释在代码中:
```python
import os
from flask import Flask, request
app = Flask(__name__)
@app.route('/dezip', methods=['POST'])
def dezip():
# 获取输入的参数dch
dch = request.form.get('dch')
# 获取上传的文件
f = request.files['file']
# 保存上传的文件
filepath = os.path.join(os.getcwd(), f.filename)
f.save(filepath)
# 解压文件
os.system(f'unzip {filepath}')
# 获取解压后的文件夹名
folder_name = os.path.splitext(f.filename)[0]
# 复制子文件夹到目标文件夹
target_folder = f'{dch}duichang'
os.makedirs(target_folder, exist_ok=True)
os.system(f'cp -r {folder_name}/* {target_folder}/')
# 删除解压文件夹和上传的压缩文件
os.system(f'rm -rf {folder_name} {filepath}')
return 'success'
if __name__ == '__main__':
app.run(host='192.168.1.226', port=5000)
```
这段代码会启动一个Flask应用,监听在本地IP 192.168.1.226 的5000端口,当收到POST请求并访问/dezip接口时,会获取dch参数和上传的文件,并进行解压、复制、删除等操作,最终返回success表示操作成功。