脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python进度条tqdm的用法详解

Python进度条tqdm的用法详解

2021-12-17 00:10ZSYL Python

这篇文章主要介绍了Python进度条tqdm的用法,这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧

前言

有时候在使用python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的python来说,想要实现这一功能并不是什么难事。

tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的cpu资源非常少,支持windows、linux、mac等系统,支持循环处理、多进程、递归处理、还可以结合linux的命令来查看处理情况,等进度展示。

大家先看看tqdm的进度条效果:

Python进度条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

Python进度条tqdm的用法详解

?
1
2
3
4
5
6
from tqdm import tqdm
import time
 
for i in tqdm(range(50)):
    time.sleep(0.1)
    pass

Python进度条tqdm的用法详解

带参数

?
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

Python进度条tqdm的用法详解

观察处理的数据

通过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)

Python进度条tqdm的用法详解

2. 用trange子模块,效果和用tqdm子模块一样

代码如下:

?
1
2
3
4
5
from tqdm import trange
import time
for i in trange(100):
    time.sleep(0.1)
    pass

Python进度条tqdm的用法详解

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的用法详解

到此这篇关于python进度条tqdm的用法详解的文章就介绍到这了,更多相关python进度条tqdm内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_46092061/article/details/119353495

延伸 · 阅读

精彩推荐