python tqdm库进度条简单使用

tqdm是一个快速、可扩展的Python进度条库,可以在长循环中添加一个进度提示信息,用户只需要封装任意的迭代器enumeratemaprange等。tqdm使用简单且易于集成到现有的代码中。它可以用于命令行界面(CLI)和图形用户界面(GUI),还支持嵌套循环和多线程。

基本使用

首先,确保安装了tqdm库。如果未安装,可以通过pip安装:

pip install tqdm

以下是一些基本用法示例:

在循环中使用

最简单的使用方式是将tqdm直接包装在任何迭代器上:

from tqdm import tqdm
import time

# 模拟一些长任务
for i in tqdm(range(10)):
    time.sleep(0.1)  # 模拟任务执行时间

这将显示一个简单的进度条,随着循环的执行逐步填充。

手动更新

如果你需要更细粒度的控制,比如在非迭代器控制的循环中使用,你可以手动更新tqdm

from tqdm import tqdm
import time

pbar = tqdm(total=100)  # 设置总的迭代次数
for i in range(10):
    time.sleep(0.1)  # 模拟任务
    pbar.update(10)  # 更新进度条10步,因为总共有100步,所以循环10次完成
pbar.close()  # 完成后关闭进度条
在列表推导式中使用

tqdm也可以在列表推导式中使用,提供进度条功能:

from tqdm import tqdm
import time

results = [x for x in tqdm(range(10))]  # 使用tqdm包装range函数
嵌套循环

tqdm同样支持嵌套循环的进度条显示,但需要指定leave=True以保留父循环的进度条:

from tqdm import tqdm
import time

for i in tqdm(range(4), desc="Outer loop"):
    for j in tqdm(range(5), desc="Inner loop", leave=False):
        time.sleep(0.1)

注意事项

  • 当在Jupyter Notebook或其他特定环境中使用tqdm时,可能需要使用专门的tqdm.notebook.tqdm来替代标准的tqdm,以获得更好的兼容性和显示效果。
  • 在多线程或多进程环境中使用tqdm时,需要正确管理进度条的更新,避免因为并发更新导致的显示问题。对于这种情况,tqdm提供了tqdm.concurrent模块来辅助处理。

tqdm是一个功能强大而灵活的工具,可以有效地向用户反馈程序执行进度,提升用户体验。通过简单的API,它可以轻松集成到现有项目中,无论是简单的脚本还是复杂的应用程序。

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值