在很多时候,你都需要一个进度条来告知当前程序的运行状况和进展。tqdm 是一个在Python中广泛使用的命令行进度条工具库!下面是这个库的主页:https://tqdm.github.io/
一、快速入门
(1)for循环中
代码:
from tqdm import tqdm, trange
import time# tqdm类的用法
for i in tqdm(range(5)):time.sleep(0.5)# trange函数的用法
for i in trange(10):time.sleep(0.2)
运行结果:
(2)非for循环中
代码:
from tqdm import tqdm
import timeprogress_bar = tqdm(total=100) # 创建一个进度条,指定总进度为100
# 第一次更新进度条进度20%
time.sleep(1)
progress_bar.update(20) # 每次更新进度条进度20%# 第二次更新进度条进度40%
time.sleep(1)
progress_bar.update(20)# 第三次更新进度条进度60%
time.sleep(1)
progress_bar.update(20)# 第四次更新进度条进度80%
time.sleep(1)
progress_bar.update(20)# 第五次更新进度条进度100%
time.sleep(1)
progress_bar.update(20)
运行结果:
二、tqdm类的更详细介绍
tqdm库中有一个tqdm类,由它来创建一个进度条对象,所有对进度条的设置都可以通过tqdm类的初始化来进行。
(1)设置进度条颜色
代码:
from tqdm import tqdm, trange
import time# colour参数可以设置进度条的颜色 [hex (#00ff00), BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE]
for i in tqdm(range(5), colour='#00ff00'):time.sleep(0.5)for i in tqdm(range(5), colour='YELLOW'):time.sleep(0.5)for i in tqdm(range(5), colour='red'):time.sleep(0.5)
运行结果:
(2)设置进度条的描述和进度单位
代码:
from tqdm import tqdm, trange
import time# desc参数可以设置进度条的描述
# unit参数可以设置进度条的单位
for i in tqdm(range(5), desc='训练中', unit='epoch'):time.sleep(0.5)for i in trange(10, desc='下载中', unit='KB'):time.sleep(0.2)
运行结果:
三、jupyter notebook中使用tqdm的进度条
四、用tqdm弹出一个tk进度条窗口
代码:
# 导入库的时候,只需要将tqdm改成tqdm.tk就行了
from tqdm.tk import tqdm, trange
import timefor i in tqdm(range(10)):time.sleep(1)for i in trange(10):time.sleep(1)
运行结果: