tqdm官网:https://pypi.org/project/tqdm/
关于tqdm使用的方法有很多,本文简单介绍两种常用方法
基于迭代用法演示:
用tqdm()包住可迭代对象
from tqdm import tqdm
from time import sleep
text = ""
for char in tqdm(["a", "b", "c", "d"]):
sleep(0.25)
text = text + char
运行结果:基础用法.gif
特殊优化实例trange()
from tqdm import trange
from time import sleep
for i in trange(100):
sleep(0.01)
运行结果:trange用法.gif
循环外的实例化对tqdm()进行手动控制
from tqdm import tqdm
from time import sleep
process_bar = tqdm(["a", "b", "c", "d"])
for char in process_bar:
sleep(0.25)
process_bar.set_description("Processing %s" % char)
运行结果:手动.gif
手动更新:使用with语句手动控制tqdm()更新
from tqdm import tqdm
from time import sleep
with tqdm(total=100) as process_bar:
for i in range(10):
sleep(0.1)
process_bar.update(10)
运行结果:with用法.gif
with用法内可常用的参数:
iterable :可以使用进度条进行装饰。 保留空白以手动管理更新。
desc :进度栏的前缀
total :预期的迭代次数
ncols :整个输出消息的宽度。进度条的长度
unit_scale :如果为1或True,则迭代次数将自动减少/缩放
colour :条形颜色
leave :迭代完成时进度条是否保留
eg:
with open(download_path, mode='ab') as file_obj, tqdm(total=file_size, desc=file_name,
leave=True, ncols=80, unit='B',
unit_scale=True) as process_bar:
process_bar.update(len(content))