<返回更多

Python制作文本进度条

2021-09-15    月从天上来
加入收藏

该文章适合细读,有挺多细节的

进度条:能表示一个程序的进度,耗时情况

下面楼主给大家带来今天的学习,怎么制作文本进度条,学会了记得给自己的程序加上进度条,高大上一点。代码复制粘贴可以运行。

一、多行进度条

#简单开始
import  time
scale=10#初始为10
print("------执行开始------")
for i in range(scale+1):#因为遍历不能等于10,所以要+1,总的等于10
    a,b="**"*i,".."*(scale-i)#进度条**越来越多,..越来越少
    c=(i/scale)*100#求出每一次i的占比,因为i数量会变大,所以占比会越来越大
    print("%{:^3.0f}[{}->{}]".format(c,a,b))#将结果打印出来,中间加一个箭头
    time.sleep(0.1)
print("------执行结束------")

1、a,b="**"*i,".."*(scale-i):进度条【**】越来越多,【..】越来越少,随着遍历,直到【..】最终变成没有

2、c=(i/scale)*100:求出每一次i的占比,因为i数量会变大,所以占比会越来越大

3、print("%{:^3.0f}[{}->{}]".format(c,a,b)):将结果打印出来,中间加一个箭头,用了槽{},format()函数等应用

结果图:

Python制作文本进度条

多行进度条

二、单条动态刷新

#单行动态刷新
import  time
print("------执行开始------")
for i in range(101):
    print("r{:3}%".format(i),end="")
    time.sleep(0.05)
print("------执行结束------")

这个程序相对简单,用到r,该转义符把输出的字,不换行,移动到句首。不会像上一个程序一样,每行都有数据。

结果图:

Python制作文本进度条

单条动态刷新

三、带刷新的文本进度条

#带刷新的文本进度条
import time
scale=50#总量,和第一个类似
print("执行开始".center(scale//2,"-"))#产生这个-----------执行开始----------
t=time.perf_counter()
for i in range(scale+1):#50不能打印出来,要加+1
    a="*"*i
    b="'"*(scale-i)
    c=(i/scale)*100#百分比进度  50%那种
    t=time.perf_counter()#消耗时间
    print("r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,t),end="")#总的进度条,和第二种类型
    time.sleep(0.05)
print("n"+"执行结束".center(scale//2,"-"))

第三种的进度条比较常用

结果图:

 

Python制作文本进度条

带刷新的文本进度条

这种进度条应该很熟悉了吧?其他花里胡巧的进度条估计也是按着这样的原理生成的。快去给你的程序添加进度条吧~

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>