Python-tqdm-进度条

本文最后更新于:2020年10月20日 上午

信息

python可以使用的一个进度条
github/文档:https://github.com/tqdm/tqdm

基础使用

tqdm.tqdm

使用之前先将tqdm导入进来

1
from tqdm import tqdm

基于可迭代对象使用

案例 1

1
2
for i in tqdm(range(10000)):
...

显示结果

1
76%|████████████████████████        | 7568/10000 [00:33<00:10, 229.00it/s]

>案例 2
1
2
3
4
5
6
7
from tqdm import tqdm
from time import sleep

text = ""
for char in tqdm(["a", "b", "c", "d"]):
sleep(0.25)
text = text + char
`tqdm.tqdm()`会接收一个可迭代的对象,通过`len()`计算它的长度来实现进度条的效果 只要满足这两个条件,就能塞东西进去显示进度条

基于数值使用

并非所有对象都可以进行迭代
在遇到不能迭代的内容时,可以使用预先设置数值来进行进度条的计算

案例 1

1
2
3
4
5
pbar = tqdm(total=100)
for i in range(10):
sleep(0.1)
pbar.update(10)
pbar.close()

案例 2

1
2
3
4
with tqdm(total=100) as pbar:
for i in range(10):
sleep(0.1)
pbar.update(10)

tqdm详细

1
2
3
4
5
6
7
8
9
10
11
class tqdm():
"""
装饰一个可迭代的对象,返回一个迭代器。迭代器返回的对象与原本一致,但是会更新进度条信息
"""

def __init__(self, iterable=None, desc=None, total=None, leave=True,
file=None, ncols=None, mininterval=0.1,
maxinterval=10.0, miniters=None, ascii=None, disable=False,
unit='it', unit_scale=False, dynamic_ncols=False,
smoothing=0.3, bar_format=None, initial=0, position=None,
postfix=None, unit_divisor=1000):
参数名 值类型 参数类型 描述
iterable iterable 可选 一个被装饰的可迭代对象
desc str 可选 进度条前缀描述
total int / float 可选 预期的迭代次数。
如未指定,则使用len(iterable)获取
leave bool 可选 默认为True
是否不在迭代迭代结束后将进度条消除掉
file io.TextIOWrapper/io.StringIO 可选 指定输出流,使用file.write(str)file.flush()实现
ncols int 可选 进度条宽度
mininterval float 可选 进度条最小进度更新时间间隔,默认值:0.1秒
maxinterval float 可选 进度条最大进度更新时间间隔,默认10秒
miniters int / float 可选 最小进度显示更新值
ascii bool / str 可选 如果未指定或为False,则会用unicode平滑块符号 填充仪表
disable bool 可选 是否禁用
unit str 可选 进度条单位
unit_scale bool / int / float 可选 如果为1或True,则迭代次数将自动减少/缩放。比如bitkb。默认值:False
dynamic_ncols bool 可选 进度条长度动态适应窗口大小。默认值:False
smoothing float 可选 速度估计的平滑因子
范围从0(平均速度)到1(当前/瞬时速度)。默认值:0.3
bar_format str 可选 进度条显示形式,由于是不断刷新的,会影响机器性能
默认值:’{l_bar} {bar} {r_bar}’
initial int / float 可选 进度条初始值
position int 可选 指定进度条显示偏移量(从0开始)。如果未指定,则为自动设置。
在你想要显示多个进度条的时候,它会帮到你的
postfix dict / * 可选 指定显示在进度条末尾的其他统计信息
unit_divisor float 可选
write_bytes bool 可选
lock_args tuple 可选
nrows int 可选 如果指定,则在此边界之外隐藏嵌套的条。 如果未指定,请尝试使用环境高度。
colour str 可选项 进度条颜色

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!