前言
有时候在使用python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的python来说,想要实现这一功能并不是什么难事。
tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的cpu资源非常少,支持windows、linux、mac等系统,支持循环处理、多进程、递归处理、还可以结合linux的命令来查看处理情况,等进度展示。
大家先看看tqdm的进度条效果:
tqdm安装:
1
|
pip install tqdm
|
1. 用tqdm子模块
对于可以迭代的对象都可以使用下面这种方式,来实现可视化进度,非常方便
1
2
3
4
5
6
|
from tqdm import tqdm
import time
for i in tqdm( range ( 100 )):
time.sleep( 0.1 )
pass
|
1
2
3
4
5
6
|
from tqdm import tqdm
import time
for i in tqdm( range ( 50 )):
time.sleep( 0.1 )
pass
|
带参数
1
2
3
4
5
6
|
from tqdm import tqdm
import time
d = { 'loss' : 0.2 , 'learn' : 0.8 }
for i in tqdm( range ( 50 ),desc = '进行中' ,ncols = 10 ,postfix = d): #desc设置名称,ncols设置进度条长度.postfix以字典形式传入详细信息
time.sleep( 0.1 )
pass
|
观察处理的数据
通过tqdm提供的set_description
方法可以实时查看每次处理的数据
1
2
3
4
5
6
7
|
from tqdm import tqdm
import time
pbar = tqdm([ "a" , "b" , "c" , "d" ])
for c in pbar:
time.sleep( 1 )
pbar.set_description( "processing %s" % c)
|
2. 用trange子模块,效果和用tqdm子模块一样
代码如下:
1
2
3
4
5
|
from tqdm import trange
import time
for i in trange( 100 ):
time.sleep( 0.1 )
pass
|
3. 手动设置处理进度
1
2
3
4
5
6
7
|
from tqdm import tqdm
import time
#total参数设置进度条的总长度
with tqdm(total = 100 ) as bar: # total表示预期的迭代次数
for i in range ( 100 ): # 同上total值
time.sleep( 0.1 )
bar.update( 1 ) #每次更新进度条的长度
|
到此这篇关于python进度条tqdm的用法详解的文章就介绍到这了,更多相关python进度条tqdm内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_46092061/article/details/119353495