Python进度条的设置(tqdm库的使用)

tqdm的简单用法

在Python编程中,当我们所编写的代码中含有循环并且运行此代码比较耗时时,那么展示进度条是一个直观并且重要的方式。这种方式能够帮助我们理解现在程序执行到何种状态,运行的进度。在python中,tqdm库便能够方便地帮助我们实现进度条,接下来便介绍有关tqdm的几种常用并且简单的用法。

tqdm的安装

tqdm的安装十分简单,直接通过pip指令即可进行安装

tqdm最简单的使用

tqdm最简单的使用如下所示,编写如下代码

import time
from tqdm import tqdm

for i in tqdm(range(100)):
    time.sleep(0.05)

运行时会出现如下进度条
Python进度条的设置(tqdm库的使用)_第1张图片
这里便是最简单的一种写法,只需要 from tqdm import tqdm 之后,在类似于 for i in range(N) 的地方,在range外面套上个tqdm即可。此时需要注意,如果只是单纯地 import tqdm, 再在range外面套tqdm,这是不可行的,就是代码中需要用到的tqdm并不是tqdm库,而是tqdm库中的tqdm,这里稍加注意即可,因为有时忘了这个问题,导致的忽然报错可能会让各位伙伴突然愣一下。

tqdm的稍微复杂点的使用

笔者在接触深度学习相关的代码时,在pointer networks论文相关的代码里,看到了类似于如下的代码:

data_iter = tqdm(range(self.data_size), unit='data')
for i, _ in enumerate(data_iter):
    data_iter.set_description('Data points %i/%i' % (i+1, self.data_size))
    points_list.append(np.random.random((self.seq_len, 2)))

运行此代码,会出现如下类似的效果:
在这里插入图片描述
这里的效果和上面的最简单的方法的效果也差不多,就是写法不一样而已。首先需要将一个可迭代对象套上个tqdm,然后unit表示单位,默认是it。这里展示几个示例就行,就能够明显地看出unit参数决定的是什么。
Python进度条的设置(tqdm库的使用)_第2张图片
Python进度条的设置(tqdm库的使用)_第3张图片
Python进度条的设置(tqdm库的使用)_第4张图片
后面在每次循环时,只需要每次调用set_description( )函数即可,这个函数的作用就相当于是在每次的进度条前面添加一个文本描述,同样参考上面的示例就可以很容易地看出其作用。
其实不添加这个set_description( )函数也是可以地,就是进度条前面没有文字信息,示例如下:
Python进度条的设置(tqdm库的使用)_第5张图片
所以加不加这个语句,其作用就是决定每次迭代地进度条前面有没有文字提示信息。总之,对tqdm的介绍就到这里了,是不是很简单呢

你可能感兴趣的:(python,深度学习,数据分析)