Python实现实时显示进度条的六种方法
作者:酔清风 时间:2022-03-27 02:09:35
相信大家对进度条一定不陌生了,比如在我们安装python库的时候可以看到下载的进度,此外在下载文件时也可以看到类似的进度条,比如下图这种:
应用场景:下载文件、任务计时等
今天辰哥就给大家分享Python的6种不同的实现实时显示处理进度的方式,文中每一种方式都附带一个案例,并提供官方文档,供大家学习,自定义去修改。
第1种:普通进度条
利用打印功能print进行实时刷新显示
for i in range(1, 101):
print("\r", end="")
print("进度: {}%: ".format(i), "▓" * (i // 2), end="")
sys.stdout.flush()
time.sleep(0.05)
第2种:带时间的普通进度条
第2种同样通过print进行打印进度条,不过还加入了time时间显示,显示进度过程中所需要的时间
t = 60
print("**************带时间的进度条**************")
start = time.perf_counter()
for i in range(t + 1):
finsh = "▓" * i
need_do = "-" * (t - i)
progress = (i / t) * 100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(progress, finsh, need_do, dur), end="")
time.sleep(0.05)
第3种:tqdm库
tqdm是专门用于进度条的一个python库,详细的用法可以参考下方官方文档
https://pypi.org/project/tqdm/#description
from tqdm import tqdm
for i in tqdm(range(1, 60)):
"""
代码
"""
# 假设这代码部分需要0.05s,循环执行60次
time.sleep(0.05)
第4种: alive_progress库
alive_progress是一个动态的实时显示进度条库,详细的用法可以参考下方官方文档
https://pypi.org/project/alive-progress/#description
from alive_progress import alive_bar
# 假设需要执行100个任务
with alive_bar(len(range(100))) as bar:
for item in range(100): # 遍历任务
bar() # 显示进度
"""
代码
"""
# 假设这代码部分需要0.05s
time.sleep(0.05)
第5种:PySimpleGUI库
PySimpleGUI也是一种动态进度条库,该库是自带GUI界面(基于PyQt,Tkinter等),详细的用法可以参考下方官方文档
https://pypi.org/project/PySimpleGUI/#description
import PySimpleGUI as sg
count = range(100)
for i, item in enumerate(count):
sg.one_line_progress_meter('实时进度条', i + 1, len(count), '-key-')
"""
代码
"""
# 假设这代码部分需要0.05s
time.sleep(0.05)
第6种:progressbar库
https://pypi.org/project/progressbar/#description
import progressbar
p = progressbar.ProgressBar()
# # 假设需要执行100个任务,放到ProgressBar()中
for i in p(range(100)):
"""
代码
"""
# 假设这代码部分需要0.05s
time.sleep(0.05)
来源:https://blog.csdn.net/weixin_42686892/article/details/121958157
标签:Python,实时,显示,进度条
0
投稿
猜你喜欢
编写SQL Server的扩展存储过程实例
2009-01-20 15:45:00
python的继承知识点总结
2022-12-10 11:21:28
OL IE Bug
2009-09-09 16:25:00
Mootools 1.2教程(15)——滚动条(Slider)
2008-12-09 17:35:00
学会sql数据库关系图(Petshop)
2012-10-07 10:34:49
让MYSQL彻底支持中文
2008-12-24 16:23:00
网页新窗口打开好不好,数据说话
2008-05-31 17:01:00
js图片随机显示技巧
2007-08-19 20:20:00
Windows XP操作系统下的MYSQL安装过程
2008-11-24 12:52:00
不同浏览器所支持的“事件”
2007-09-26 18:29:00
Python+ Flask实现Mock Server详情
2021-02-11 19:56:28
让ThinkPHP支持大小写url地址访问的方法
2023-11-17 02:28:37
Python进阶之协程详解
2023-08-23 04:52:52
下拉列表两级连动的新方法(一)
2009-06-04 18:18:00
Oracle判断表、列、主键是否存在的方法
2023-07-22 19:13:06
Entity Framework Core生成列并跟踪列记录
2023-07-01 07:06:46
使用HTML和MSXML6.0 创建一个超轻量级XPATH测试程序
2009-04-24 12:38:00
IE8"开发人员工具"使用详解
2009-03-26 12:51:00
MySQL高级查询方法之记录查询
2010-06-20 14:48:00
用ASP和XMLHTTP分析远程XML文件
2007-12-12 12:48:00