Python实例4:文本进度条
采用字符串方式打印动态变化的文本进度条;进度条需要在一行中逐渐变化;
采用sleep()模拟一个持续的进度;
单行动态刷新:用后打印的字符覆盖之前的字符;print()需要被控制;打印后光标退回到之前的位置\r;
# TextProBarV1.py 文本条多行刷新
import time #引入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("-------执行结束-------") #结束的标签
---------执行开始---------
0 %[->..........]
10 %[*->.........]
20 %[**->........]
30 %[***->.......]
40 %[****->......]
50 %[*****->.....]
60 %[******->....]
70 %[*******->...]
80 %[********->..]
90 %[*********->.]
100%[**********->]
-------执行结束-------
# TextProBarV2.py 文本条单行刷新
import time
for i in range(101):
print("\r{:3}%".format(i),end="") #end= :改变print默认在最后增加一个换行换到下一行,变为光标停留在当次输出字符串的后面
time.sleep(0.1)
100%
# TextProBarV3.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,'-'))
-----------执行开始----------
100%[**************************************************->]5.51s
-----------执行结束----------
点赞,关注,收藏👍,➕,👀点赞,关注,收藏👍,➕,👀点赞,关注,收藏👍,➕,👀
😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘😘
💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪💪
在这里插入图片描述