Python进度条

开场白

如果你写的代码里面有一个很耗时的操作,比如这个10000*10000的操作,那么在执行的时候,很可能让你陷入未知的等待……
image.png
这时候,白银选手会直接加入一个print,但直接输出会让你的控制台直接爆炸。

image.png
黄金选手会加入\r,让输出保持在同一行。
image.png
当然,这样是静态的,继续加个刷新和延时,这样他就变成动态的了。
image.png
钻石选手甚至可以给你手搓一个进度条出来。(这里简化了一下算法,简化为遍历1-1000)

import time

total = 1000
interval = 20  # 每次更新的间隔数

for i in range(1, total + 1):
    time.sleep(0.01)  # 线程推迟指定时间运行,0.01秒代表休眠10毫秒
    percentage = (i / total) * 100
    num = int(percentage // 2)
    if i == total:
        process = "\r[%3.0f%%]: |%-50s|\n" % (percentage, '#' * num)
    else:
        process = "\r[%3.0f%%]: |%-50s|" % (percentage, '#' * num)
    print(process, end='', flush=True)

image.png
但真正的王者,会使用现成的库!

正戏

progress

progress是一个简单的第三方进度条模块,只需要在代码中创建一个Bar对象,设置好长度,并在循环中更新他,就可以轻松得到一个进度条。(不知道为什么pycharm不显示进度条,下面的例子用的Thonny)

from progress.bar import Bar
import time

start = 1
end 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小秋LY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值