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)