Python的文本进度条

1、简单的开始 
import time

scale = 10 # 我们文本进度条大概的宽度 
print(“——执行开始——”) 
for i in range(scale+1): 
a = ‘’ 
b = ‘.’ * (scale - i) 
c = (i/scale) * 100 # 输出与当前进度条相关的百分比 
print(“{:^3.0f}%[{}->{}]”.format(c, a, b)) 
# ^3.0f指输出前三位的整数,“.”后面是指你要保留多少位的小数点。 
time.sleep(0.1) 
print(“——执行结束——”)

执行结果如下:

在这里插入图片描述

2、完整效果文本记录条 
import time

scale = 50 # 我们文本进度条大概的宽度 
print(“执行开始”.center(scale//2, “-“))

#center()方法,将减号字符填充在执行开始或执行结束的两侧

start = time.perf_counter()# 确定开始时间 
for i in range(scale+1): 
a = ‘*’ 
b = ‘-’ * (scale - i) 
c = (i/scale) * 100 # 输出与当前进度条相关的百分比

dur = time.perf_counter() - start
# 记录每次程序所调用的时间,调用一次perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1有多少秒。当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。两个函数取差,即实现从时间点B1到B2的计时功能。
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end="")

# \r是指在打印输出字符串之前,它能使光标退回到当前行的行首。 
# 意思就是把原来打印出来的字符串替换成之后打印出来的字符串,从而实现动态的效果(只在一行中打印)。
# ^3.0f指输出前三位的整数,“.”后面是指你要保留多少位的小数点。
time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))

#scale//2    // 表示整数除法   / 表示浮点数除法

需要注意的是,因为Python 的IDLE是集成开发环境,所以并不能显示单行刷新的效果,需要在计算机的窗口命令行当中运行才可。用cmd或者powershell窗口测试。

 

center()方法语法:str.center(width[, fillchar])

center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

width -- 字符串的总宽度。fillchar -- 填充字符。

返回一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。

你可能感兴趣的:(python)