首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TQDM,一个进度条显示的 Python 库!

Python编程中处理耗时任务总是让人心急如焚,瞎等着不是个事儿,要是能实时看到任务进度该多好。TQDM这个神器就是专门解决这个问题的!它不仅能帮你显示进度条,还能估算剩余时间,显示处理速度,简直是处理大规模数据时的得力助手。

基本使用方法

TQDM的使用超简单,只要把它跟迭代对象组合在一起就行了。来看个最基础的例子:

from tqdm import tqdm

import time

# 模拟一个耗时任务

for i in tqdm(range(100)):

time.sleep(0.1) # 假装在处理数据

运行这段代码,你就能看到一个炫酷的进度条在命令行里跑起来了。它会显示当前进度、处理速度,还有预计剩余时间,一目了然!

进阶玩法

有时候咱们处理的数据可能是列表或其他可迭代对象,TQDM一样能搞定:

from tqdm import tqdm

# 处理列表数据

data = ['老王', '老李', '老张', '老刘']

for name in tqdm(data, desc='处理数据中'):

time.sleep(1) # 模拟数据处理

小贴士:

desc参数可以设置进度条前面显示的文字描述

进度条默认显示百分比,也可以通过unit参数自定义单位

不想看到进度条?disable=True就能关掉它

手动更新进度

有些场景下需要手动控制进度条,TQDM也考虑到了:

from tqdm import tqdm

total = 100

with tqdm(total=total) as pbar:

for i in range(10):

# 干点事

time.sleep(1)

# 更新进度条

pbar.update(10) # 每次更新10个单位

玩转样式

要是觉得默认的进度条太朴素,还能给它换身行头:

from tqdm import tqdm

# 自定义进度条样式

for i in tqdm(range(100),

desc='下载中',

ncols=80, # 进度条总长度

colour='green', # 颜色

bar_format='{l_bar}{bar}| {n_fmt}/{total_fmt} [{elapsed}<{remaining}]'):

time.sleep(0.1)

小贴士:

colour参数支持多种颜色,比如red、green、blue等

bar_format可以完全自定义进度条格式

ncols控制进度条在终端中的显示宽度

实战应用

在实际项目中,TQDM经常用来显示文件处理进度:

from tqdm import tqdm

import os

def process_files(file_list):

results = []

for file in tqdm(file_list, desc='处理文件'):

# 假装在处理文件

results.append(size)

time.sleep(0.5)

return results

还有个特别实用的场景是在训练机器学习模型时显示训练进度:

from tqdm import tqdm

import numpy as np

def train_model(epochs):

for epoch in tqdm(range(epochs), desc='训练进度'):

time.sleep(0.2)

小贴士:

处理大量文件时记得用with语句管理资源

进度条也会占用一些系统资源,在性能特别敏感的场景要谨慎使用

把TQDM用起来,瞬间就能让你的程序变得高大上!它的性能开销很小,使用起来也超级简单。再也不用写那些丑丑的打点计数了,让你的程序既实用又好看。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OQSL7lF5VRS82TjQCgydhnNA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券