Python中怎么使用Flask实现进度条
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇内容主要讲解"Python中怎么使用Flask实现进度条",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python中怎么使用Flask实现进度条"吧!
千家信息网最后更新 2025年11月08日Python中怎么使用Flask实现进度条
本篇内容主要讲解"Python中怎么使用Flask实现进度条",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python中怎么使用Flask实现进度条"吧!
使用Flask实现进度条
问题描述
Python异步处理,新起一个进程返回处理进度
解决方案
使用 tqdm 和 multiprocessing.Pool
安装
pip install tqdm
代码
import timeimport threadingfrom multiprocessing import Poolfrom tqdm import tqdmdef do_work(x): time.sleep(x) return xdef progress(): time.sleep(3) # 3秒后查进度 print(f'任务有: {pbar.total} 已完成:{pbar.n}')tasks = range(10)pbar = tqdm(total=len(tasks))if __name__ == '__main__': thread = threading.Thread(target=progress) thread.start() results = [] with Pool(processes=5) as pool: for result in pool.imap_unordered(do_work, tasks): results.append(result) pbar.update(1) print(results)效果
Flask
安装
pip install flask
main.py
import timefrom multiprocessing import Poolfrom tqdm import tqdmfrom flask import Flask, make_response, jsonifyapp = Flask(__name__)def do_work(x): time.sleep(x) return xtotal = 5 # 总任务数tasks = range(total)pbar = tqdm(total=len(tasks))@app.route('/run/')def run(): """执行任务""" results = [] with Pool(processes=2) as pool: for _result in pool.imap_unordered(do_work, tasks): results.append(_result) if pbar.n >= total: pbar.n = 0 # 重置 pbar.update(1) response = make_response(jsonify(dict(results=results))) response.headers.add('Access-Control-Allow-Origin', '*') response.headers.add('Access-Control-Allow-Headers', '*') response.headers.add('Access-Control-Allow-Methods', '*') return response@app.route('/progress/')def progress(): """查看进度""" response = make_response(jsonify(dict(n=pbar.n, total=pbar.total))) response.headers.add('Access-Control-Allow-Origin', '*') response.headers.add('Access-Control-Allow-Headers', '*') response.headers.add('Access-Control-Allow-Methods', '*') return response启动(以 Windows 为例)
set FLASK_APP=mainflask run
接口列表
执行任务:http://127.0.0.1:5000/run/
查看进度:http://127.0.0.1:5000/progress/
test.html
进度条
效果
Flask使用简单异步任务
在Flask中使用简单异步任务最简洁优雅的原生实现:
from flask import Flaskfrom time import sleepfrom concurrent.futures import ThreadPoolExecutor# DOCS https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutorexecutor = ThreadPoolExecutor(2)app = Flask(__name__)@app.route('/jobs')def run_jobs(): executor.submit(some_long_task1) executor.submit(some_long_task2, 'hello', 123) return 'Two jobs was launched in background!'def some_long_task1(): print("Task #1 started!") sleep(10) print("Task #1 is done!")def some_long_task2(arg1, arg2): print("Task #2 started with args: %s %s!" % (arg1, arg2)) sleep(5) print("Task #2 is done!")if __name__ == '__main__': app.run()到此,相信大家对"Python中怎么使用Flask实现进度条"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
进度
任务
内容
效果
处理
学习
实用
更深
简洁
优雅
代码
兴趣
实用性
实际
总任务
接口
操作简单
方案
方法
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
五华区第三方软件开发零售价格
平度定制软件开发解决方案
网络安全保护眼睛的手抄报
长沙开福区软件开发
网络安全法规定网路运营者
南通从事软件开发工资
宁波韵升软件开发
自己的服务器怎么防御ddos
网络技术加盟 商标
网络安全学什么技术
眉山市春洪软件开发有限公司
软件开发技能鉴定
温州市政府网络安全
广州互联网科技邮箱公司
温州数据库防伪技术
安全上网网络安全ppt
蔚来汽车软件开发工资
数据库获取内容
哪个数据库不是检索数据库
批量计算数据库要素代码
设计实现学生选课数据库
智联物联打印服务器网络瘫痪
app软件开发商哪家靠谱
邮箱注册网络安全隐患
美国国家网络安全战略
服务器管理 电脑系统
数据库课程要用的软件
网络技术手段视频
截图调色软件开发
数据库服务器硬件要求