我们经常执行计算机程序,来处理数据或任务。有 GUI 的程序,可以通过进度条实时展示处理进度。那么,命令行程序有办法也展示直观的进度条呢?
Python 第三方库 tqdm 就是专门用来展示进度条的,tqdm 是阿拉伯语进度一词 taqadum 的缩写。本节,我们一起来看如何调用 tqdm 库,来输出漂亮直观的进度条。
安装
跟其他 Python 第三方包一样,我们执行 pip 命名来安装 tqdm :
|
|
用法
Python 程序处理数据或任务时,通常是写 for-in 循环逐个遍历。tqdm 提供了一个可迭代对象包装器,可以包装任何可迭代对象,它会在遍历迭代时实时输出进度:
|
|
这个例子调用 range 函数生成 10 个序号,来模拟处理 10 个数据的场景。
range 对象的长度是固定的,因此 tqdm 可以调用 len 函数获得总数,因此可以计算进度:
|
|
但有些场景,我们并不知道数据或任务的总量有多少,因而无法计算进度,只能计算处理速度:
|
|
这个例子,我么调用 map 函数对 range 对象进行包装,让它变成一个普通的可迭代对象,无法调用 len 获取长度。这样一来,tqdm 就无法计算执行进度,只能计算处理速度了。
【小菜学Python】系列文章首发于公众号【小菜学编程】,敬请关注: