Python实现实时显⽰进度条的六种⽅法
⽬录
第1种:普通进度条
第2种:带时间的普通进度条
第3种:tqdm库
第4种: alive_progress库
第5种:PySimpleGUI库
第6种:progressbar库
总结
相信⼤家对进度条⼀定不陌⽣了,⽐如在我们安装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库,详细的⽤法可以参考下⽅官⽅⽂档
from tqdm import tqdm
for i in tqdm(range(1, 60)):
"""
代码
"""
# 假设这代码部分需要0.05s,循环执⾏60次
time.sleep(0.05)
第4种: alive_progress库
alive_progress是⼀个动态的实时显⽰进度条库,详细的⽤法可以参考下⽅官⽅⽂档
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等),详细的⽤法可以参考下⽅官⽅⽂档import PySimpleGUI as sg
count = range(100)
for i, item in enumerate(count):
<_line_progress_meter('实时进度条', i + 1, len(count), '-key-')
"""
代码
"""
# 假设这代码部分需要0.05s
time.sleep(0.05)
第6种:progressbar库
import progressbar
python安装教程非常详细
p = progressbar.ProgressBar()
# # 假设需要执⾏100个任务,放到ProgressBar()中
for i in p(range(100)):
"""
代码
"""
# 假设这代码部分需要0.05s
time.sleep(0.05)
总结
⽂中介绍了这6种实现实时进度条⽅式,并且都提供⼀个案例。对于Python库⽅式的也附带了官⽅⽂档,便于⼤家学习。本篇⽂章就到这⾥了,希望能够给你带来帮助,也希望您能够多多关注的更多内容