python 进度条

一、print 实时刷新显示

# 利用打印功能print进行实时刷新显示
for i in range(1, 101):
    print("\r", end="")  # \r 表示将光标的位置回退到本行的开头位置
    print("进度: {}%: ".format(i), "▓" * (i // 2), end="")
    # print("进度: {}%: ".format(i), "▓" * (i // 2), end="", flush = True)
    sys.stdout.flush()  # flush 用于刷线缓存
    time.sleep(0.05)

\r 表示将光标的位置回退到本行的开头位置
\b表示将光标的位置回退一位
python的标准输出也是被缓存起来的,这意味着该缓存会先收集数据,等缓存满了之后才会写入标准输出,然后这些数据会被写到终端或者其他输出流

print 输出会自动的刷新缓存,因为print默认时以‘\n’结尾

二、print 实时刷新显示 + 时间

# 通过print进行打印进度条,还加入了time时间显示,显示进度过程中所需要的时间
t = 60
print("**************带时间的进度条**************")
start = time.perf_counter()  # 返回性能计数器的值(以分秒为单位)
for i in range(t + 1):
    finsh = "▓" * i
    need_do = "-" * (t - i)
    progress = (i / t) * 100
    dur = time.perf_counter() - start  #这个函数计数值起点不确定,连续调用差值才有意义
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(progress, finsh, need_do, dur), end="")
    time.sleep(0.05)

time.perf_counter() 返回性能计数器的值(以分秒为单位); 这个函数计数值起点不确定,连续调用差值才有意义

三、tqdm 库

from tqdm import tqdm
for i in tqdm(range(1, 60)):
    time.sleep(0.05)

在这里插入图片描述
其他库:alive_progress库、progressbar库、PySimpleGUI库

参考:https://blog.csdn.net/weixin_42686892/article/details/121958157

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值