Python进度条工具——tqdm

原文链接:http://www.juzicode.com/python-note-tqdm

在安装Python库文件的时候我们经常可以看到这种进度条:

其实Python库中就自带了现成的工具库——tqdm。

tqdm读起来比较拗口,它是从“进程”的阿拉伯语taqaddum简化而来。

安装tqdm

使用pip命令安装:

pip install tqdm

基本功能

最简单的用法就是传入一个可迭代对象给tqdm()函数,常用的可迭代对象可以是列表、元组等等,使用for循环等场景下就能打印出进度条来,我们来看一个最简单的例子:

# www.juzicode.com
# 公众号: 桔子code/juzicode
import time
from tqdm import tqdm
a = ['j','u','z','i','c','o','d','e','.','c','o','m']
for i in tqdm(a):
    time.sleep(0.2)

运行结果:

还可以使用range()方法构造的可迭代对象传入给tqdm()函数,在下面这个例子中,我们在每循环一次增加打印了一次换行,就可以看到“阶梯”状的进度条:

# www.juzicode.com
# 公众号: 桔子code/juzicode
import time
from tqdm import tqdm
for i in tqdm(range(20)):
    time.sleep(0.1)
    print()

运行结果:

设置前缀

tqdm()函数会返回一个<class ‘tqdm.std.tqdm’>的实例,用这个实例的 set_description()方法,可以在进度条前增加显示的字符,从而增加打印的可读性:

# www.juzicode.com
# 公众号: 桔子code/juzicode   
import time
from tqdm import tqdm
a = ['j','u','z','i','c','o','d','e','.','c','o','m']
bar = tqdm(a)
for c in bar:
    time.sleep(0.25)
    bar.set_description("目前已完成: %s" % c)

运行结果:

除了前面介绍的方法,还可以使用tqdm.auto子模块下的tqdm.write()方法设置前缀,直接看例子:

# www.juzicode.com
# 公众号: 桔子code/juzicode   
import time
from tqdm.auto import tqdm, trange
for i in trange(20):
    time.sleep(0.1)
    tqdm.write("已完成:%i" % i)

tqdm(range())简便写法

在前面介绍的例子中传入的range()实例,还可以直接简写为 tqdm(range(20)) ,当然在import的时候也需要做相应的修改:

import time
from tqdm import trange
for i in trange(20):
    time.sleep(0.1)

tqdm还是西班牙语 (te quiero demasiado ) 的简写,你知道它是什么含义吗。

相关推荐

  1. pythontqdm库不显示动态进度的问题

    2024-05-16 12:40:07       22 阅读
  2. 记录 | python tqdm用法_图片读取进度

    2024-05-16 12:40:07       34 阅读
  3. Python实现进度

    2024-05-16 12:40:07       40 阅读
  4. 进度

    2024-05-16 12:40:07       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-16 12:40:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-16 12:40:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-16 12:40:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-16 12:40:07       18 阅读

热门阅读

  1. 【Python】学生管理系统

    2024-05-16 12:40:07       13 阅读
  2. 2024.5.15晚训题解

    2024-05-16 12:40:07       11 阅读
  3. 【转】VS(Visual Studio)更改文件编码

    2024-05-16 12:40:07       12 阅读
  4. Sping @Autowired @Value @Resourece依赖注入原理

    2024-05-16 12:40:07       13 阅读
  5. spark分布式预测和保存过程中遇到的问题记录

    2024-05-16 12:40:07       12 阅读
  6. OpenCV 实时目标检测

    2024-05-16 12:40:07       12 阅读
  7. AI技术在内容生产中的革新:效率与质量的双赢

    2024-05-16 12:40:07       12 阅读
  8. 学习MySQL(四):记录的增删改查

    2024-05-16 12:40:07       10 阅读