Python进度条之 tqdm

在这里插入图片描述


tqdm是一个使用简单,且美观的进度条的包,下面看一下效果。
在这里插入图片描述
使用这个库,我分首先要导入库函数

tqdm的安装与导入

pip install tqdm

1.2 导入

from tqdm import tqdm 

后面的这个tqdm是一个类,前面的tqdm是一个package,当然这个包里面还有其他的方法和类了。

tqdm的一些简单的例子

from tqdm import tqdm 
pbar = tqdm(range(1000))
for char in pbar:
    time.sleep(0.01)

在这里插入图片描述
在这里插入图片描述
以上就是简单使用。

自拟定显示信息

from tqdm import tqdm 
pbar = tqdm(range(1000))
for char in pbar:
    time.sleep(0.01)
    pbar.set_description("进度".format(char))

运行结果图:图一
图二

高级应用

多进程进度条

在使用多进程处理任务的时候,通过tqdm可以实时查看每一个进程任务的处理情况

from time import sleep
from tqdm import trange, tqdm
from multiprocessing import Pool, freeze_support, RLock
 
L = list(range(9))
 
def progresser(n):
  interval = 0.001 / (n + 2)
  total = 5000
  text = "#{}, est. {:<04.2}s".format(n, interval * total)
  for i in trange(total, desc=text, position=n,ascii=True):
    sleep(interval)
 
if __name__ == '__main__':
  freeze_support() # for Windows support
  p = Pool(len(L),
       # again, for Windows support
       initializer=tqdm.set_lock, initargs=(RLock(),))
  p.map(progresser, L)
  print("\n" * (len(L) - 2))

在这里插入图片描述
高级使用来源:详细介绍Python进度条tqdm的使用

注意:

在使用tqdm显示进度条的时候,如果代码中存在print可能会导致输出多行进度条,此时可以将print语句改为tqdm.write,代码如下

for i in tqdm(range(10),ascii=True):
  tqdm.write("come on")
  time.sleep(0.1)

在这里插入图片描述

发布了40 篇原创文章 · 获赞 41 · 访问量 5921

猜你喜欢

转载自blog.csdn.net/qq_45172832/article/details/104390569