文本进度条

这篇博客介绍了如何在命令行中创建动态的文本进度条,通过字符串方式不断更新进度条状态,利用`time.sleep()`模拟进度,并展示了如何在一行内进行单行刷新,关键在于使用` `回到行首进行覆盖打印。还给出了一个完整的带有执行时间和百分比的进度条示例。请注意,这些效果必须在命令提示符环境中运行。
摘要由CSDN通过智能技术生成

文本进度条

----采用字符串方式打印可以动态变化的文本进度条
——进度条需要能在一行中逐渐变化

如何获得文本进度条的变化时间

——采用sleep()模拟一个持续的进度

文本进度条的简单开始

#TextProBarv1.py
import time 
scale=10
print("-----执行开始-----")
for i in range(scale+1)
a='*'*i
b='.'*(scale-i)
c=(i/scale)*100
print("{:^3.0f}%[{}->{}]".format(c,a,b))
time.sleep(0.1)
print("-----执行结束------")

解释:

文本进度条的单行动态刷新

他能够在每一行中根据程序的进度,不断的显示文本进度条的信息,但是不换行

刷新的本质

就是用后打印的字符信息覆盖之前信息
例如:之前出现的是10,然后第二次出现的是20,那么刷新后就是20,20会替代10出现在原来的位置上
单行刷新要求i我们不能换行,因为换行后之前的信息不能被修改。
所以要求我们 print()需要被控制,
要能退回,打印后光标退回到之前的位置\r

刷新的关键是\r

百分数的输入:

#Text.py
import time
for i in range (101):
print("{:3}")

完整效果的文本进度条

#TextProBar.py
import time
scale=50
print("执行开始".center(scale//2,"-"))
start=time.perf_counter()
for i in range(scale+1):
   a='*'*i
   b='.'*(scale-i)
   c=(i/scale)*100
   dur=time.perf_counter()-start
   print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")
   time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))
之前一直没有成功,原因竟然是运行地方不对,之前一直是在文本中进行的,这个是在命令提示符中进行的,大家一定要谨记,加油
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值