编程语言
首页 > 编程语言> > 运行Python代码有时加载很慢,没有反应?这时候加个进度条岂不是很爽。

运行Python代码有时加载很慢,没有反应?这时候加个进度条岂不是很爽。

作者:互联网

前言

      大家上午好,今天来分享一个在运行代码过程中非常有用的一个小教程,希望能帮到大家更好的玩转Python。

     不知道大家有没有过这种体验,就是运行代码之后,没有反应,也不报错,就总在运行中,这种很让人不爽,今天就分享一下如何给代码制作一款进度条,不用傻乎乎的在那里一直等了。至少知道是在运行加载了。

它的名字叫做 tqdm ,可以帮助我们监测程序运行的进度,用户只需要封装可迭代对象即可。

安装

通过命令行直接安装。

pip install tqdm

也可以使用豆瓣镜像安装。

pip install -i https://pypi.douban.com/simple tqdm

执行上述命令后,可以检查一下是否安装成功。

pip show tqdm

用方式

以下演示运行环境:jupyter notebook 不同运行环境使用方式稍有不同,可根据警告自行调整。

tqdm 主要参数可选参数众多,我们先看一下常用的一些参数。

主要参数

示例

直接将列表传入 tqdm()

from tqdm.notebook import tqdm
from time import sleep


for char in tqdm(['C', 'Python', 'Java', 'C++']):
    sleep(0.25)

使用可迭代对象。

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

tqdm 提供了 trange() 方法可以代替 tqdm(range())

from tqdm.notebook import trange

for i in trange(100):
    sleep(0.05)

我们在进度条前面添加描述性内容,这里把 tqdm 写在循环外,使用 set_description() 在进度条前面添加 "进度 %d"。

pbar = tqdm(range(5))
for char in pbar:
    pbar.set_description("进度 %d" %char)
    sleep(1)

我们可以设置进度条的更新的间隔,下面我们设置总数为 total=100,然后分四次,使得进度条按 10%,20%,30%,40%的间隔来更新。

with tqdm(total=100) as pbar:
    for i in range(1, 5):
        sleep(1)
        # 更新进度
        pbar.update(10*i)

更改进度条颜色。

with tqdm(total=100, colour='pink') as pbar:
    for i in range(1, 5):
        sleep(1)
        # 更新进度
        pbar.update(10*i)

注:在使用 tqdm 显示进度条的时候,如果想要输出内容的话不能够使用 print ,print 会导致输出多行进度条,可以使用 tqdm.write()

for i in tqdm(range(5)):
  tqdm.write("come on")
  sleep(0.1)
​

对于多重循环可以指定多个进度条,设置 leave=False 第二个循环执行完后,进度条不保存。

完整源代码点这里获取

for i in trange(3, desc='1st loop'):
    for i in trange(100, desc='2nd loop', leave=False):
        sleep(0.01)


那么你学会了吗?

标签:tqdm,进度条,Python,很爽,range,pbar,sleep,100
来源: https://blog.csdn.net/weixin_52994140/article/details/121945520