【居老师学习笔记】用tqdm实现代码显示进度条-python
今天看到(公众号:大邓和他的Python)发了一篇<如何让python代码显示进度信息?>hin有意思~学习下
要用到一个库——tqdm
在执行需要多次迭代耗时长的代码时,可以利用tqdm库来显示任务进度条。常用的是tqdm模块中的tqdm和trange。
那就在命令行中安装下吧~
pip install tqdm
如何使用呢?
1.tqdm.tqdm(可迭代对象)
将迭代对象放入tqdm.tqdm()中,动态监控迭代对象进度,迭代的对象有几个,进度条就有多长,例子中有6个字符串,因此进度条就(1/6)、(2/6)、(3/6)、(4/6)、(5/6)、(6/6)的滚~
from tqdm import tqdm
import time
# 进度条实例1,进度条有6辣么长
text = ""
insert = ['P', 'Y', 'T', 'H', 'O', 'N']
for i in tqdm(insert):
text = text + i
time.sleep(0.2) # 让进度条慢点走~
# 进度条实例2,进度条有10辣么长
for i in tqdm(range(10)):
pass
time.sleep(0.2)
四不四超简单哈哈哈哈哈~
还可以将进度条实例化,这样我们可以美化我们的进度条~
from tqdm import tqdm
import time
# 进度条实例1,进度条有6辣么长
text = ""
insert = ['P', 'Y', 'T', 'H', 'O', 'N']
progress_bar = tqdm(insert)
for char in progress_bar:
progress_bar.set_description("I‘m 进度条:{}".format(char)) #丰富下!
time.sleep(0.2)
2.不自动的显示,限制他!
当你的代码有很多个循环或很多个迭代时,你可以自主定义执行到哪一步约完成了百分之多少,如我有10个循环,当我循环完第5个的时候约完成了整个程序的80%,那么进度条就会停在80%。
from tqdm import tqdm
import time
# 执行10%
with tqdm(total=100) as pbar:
for i in range(10):
pbar.update(1)
time.sleep(0.5)
# 执行20%
with tqdm(total=100) as pbar:
for i in range(20):
pbar.update(1)
time.sleep(0.5)
# 执行40%
with tqdm(total=100) as pbar:
for i in range(20):
pbar.update(2) #每次更新2次
time.sleep(0.5)
3.tqdm的一些常用参数
class tqdm(object):
def __init__(self, iterable=None, desc=None, total=None):
iterable:迭代对象
desc:进度条名字
total:进度条总数一般为100
from tqdm import tqdm
import time
# 进度条实例1,进度条有6辣么长
text = ""
insert = ['P', 'Y', 'T', 'H', 'O', 'N']
progress_bar = tqdm(iterable=insert, total=50, desc='居居')
for i in progress_bar:
text = text + i
time.sleep(0.2)
progress_bar.close()
最后表扬下认真学习的自己~