欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > Python 进度条:告别枯燥等待,让你的程序动感十足!

Python 进度条:告别枯燥等待,让你的程序动感十足!

2025/9/11 15:59:29 来源:https://blog.csdn.net/qq_36807888/article/details/140901765  浏览:    关键词:Python 进度条:告别枯燥等待,让你的程序动感十足!

在日常编程中,我们经常会遇到需要处理耗时任务的情况,例如文件下载、数据处理等等。看着程序运行,却只能干巴巴地等待,实在令人心焦。

别担心!今天就来教你如何使用 Python 创建炫酷的进度条,告别枯燥等待,让你的程序动感十足!

1. tqdm:简单易用的进度条神器

tqdm 是一个功能强大的进度条库,可以轻松地为循环和迭代添加进度条,并显示进度百分比、已处理数据量、剩余时间等信息。

from tqdm import tqdm
import timefor i in tqdm(range(100)):  # 为循环添加进度条time.sleep(0.01)  # 模拟耗时操作

运行这段代码,你将看到一个不断更新的进度条,显示当前进度、剩余时间等信息。

图片

2. 自定义进度条样式

tqdm 还支持自定义进度条样式,例如更改颜色、添加描述信息等。

from tqdm import tqdmfor i in tqdm(range(100), desc="数据处理中", colour="green"):  # 设置描述信息和颜色time.sleep(0.01)

图片

3. 多重进度条:同时追踪多个任务

当需要同时处理多个任务时,可以使用 tqdm 的多重进度条功能,分别显示每个任务的进度。

from tqdm import tqdm
from time import sleep
from concurrent.futures import ThreadPoolExecutor, as_completeddef task(name):for i in tqdm(range(100), desc=f"任务 {name}"):sleep(0.01)with ThreadPoolExecutor() as executor:futures = [executor.submit(task, name) for name in ['A', 'B', 'C']]for _ in tqdm(as_completed(futures), total=len(futures), desc="总进度"):pass

图片

4. alive-progress:动态炫酷的进度条

alive-progress  库提供了更加生动、炫酷的进度条样式,例如旋转动画、闪烁效果等,让你的程序更具吸引力。

from alive_progress import alive_barwith alive_bar(100, title="下载中") as bar:  # 使用 alive_bar 创建进度条for i in range(100):bar()  # 更新进度条time.sleep(0.02)

图片

5. 整合进度条到你的项目中

将进度条整合到你的项目中非常简单,只需将需要显示进度的代码包裹在 tqdm 或 alive-progress  的进度条对象中即可。

from alive_progress import alive_bar
import time# 自定义旋转动画字符
spinner_frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']with alive_bar(100, title='处理中...', spinner=spinner_frames, bar='blocks', force_tty=True) as bar:for i in range(100):bar()  # 更新进度条if i % 10 == 0:print("\033[2J\033[H", end='')  # 清空屏幕,实现闪烁效果time.sleep(0.1)

图片

总结

进度条是提升用户体验的重要元素,可以让用户实时了解程序运行状态,告别枯燥等待。本文介绍了几种常用的 Python 进度条库,并提供了详细的代码示例,希望能帮助你为自己的程序添加炫酷的进度条。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词