***python文本进度条***
python之简单文本进度条
- 分析思路:
命名python文件:TextProBarV1.py
导入time库
设定中括号内的长度
上下两条打印语句
循环结构实现“”的递增和“.”的递减
循环次数为中括号的长度
采用字符串复制的方式实现“”的递增和“.”的递减
定义变量记下百分数的变化
打印每行信息,注意print()内的格式写法
调用休眠时间函数
- 过程代码
:
import time
scale = 10
print("————————执行开始————————\n")
for i in range(scale+1):
a, b = “*” * i, “.” * (scale-i)
# 每次数字的变换
c = i * 10
print("{:^4.0f}%[{}->{}]".format(c, a, b), )
time.sleep(0.6)
print("\n\n————————执行结束————————")
- 执行效果:
python文本进度条之单行动态刷新
- 分析思路:
命名python文件:TextProBarV2.py
刷新的本质是:用后打印的字符覆盖之前的字符
不能换行:print()需要被控制
要能回退:打印后光标退回到之前的位置\r
- 过程代码:
import time
for i in range(101):
print("\r{:3}%".format(i), end="")
time.sleep(0.1)
- 执行效果:
python文本进度条之单行进度条动态刷新
- 分析思路:
命名python文件:TextProBarV3.py
用str.center()方法打印上下两行语句
用time.perf_counter()函数记住开始的时间
循环体内:
用变量记住时间的变化
打印每行信息时,需实时显示时间变化
- 过程代码:
import time
scale = 50
print("————————执行开始————————\n")
start = time.perf_counter()
start2 = time.perf_counter()
for i in range(scale+1):
a, b = “*” * i, “.” * (scale-i)
# 每次数字的变换
c = i * 2
end2 = time.perf_counter()
time2 = end2 - start2
print("\r{:^4.0f}%[{}->{}] [{:.3f}s]".format(c, a, b, time2), end="")
time.sleep(0.2)
end = time.perf_counter()
print("\n\n————————执行结束————————")
print(“执行所用总时间为{:.3f}s”.format(end - start))
- 执行效果:
文本进度条 | python文件名字 |
---|---|
简单文本进度条 | TextProBarV1.py |
单行动态刷新文本进度条 | TextProBarV2.py |
单行进度条动态刷新文本进度条 | TextProBarV3.py |
教学老师:吴老师