Python文本进度条实现过程
更新时间:2026年04月21日 08:41:51 作者:江湖险恶不行就撤
文章介绍了使用`print()`函数实现简单的非刷新文本进度条的方法,并按照任务执行百分比来更新进度条,提供了单行动态刷新和带刷新的文本进度条的示例,此外,还设计了不同风格的进度条更新函数,以适应不同的需求和偏好
1、print()函数
利用print()函数实现简单的非刷新文本进度条
1.1 基本思想
按照任务执行百分比将整个任务划分为100个单位,每执 行N%输出一次进度条。每一行输出包含进度百分比,代表已完成的 部分(**)和未完成的部分(..)的两种字符,以及一个跟随完成度前进的 小箭头,
风格如下:%10 [*****->.............................................]
1.2 代码示例
import time
scale = 10
print("------执行开始------")
for i in range(scale+1):
a, b = '**' * i,'..' * (scale - i)
c = (i/scale)*100
print("%{:^3.0f}[{}->{}]" .format (c, a, b))
time.sleep(0.1)
print("------执行结束------")
1.3 效果

2、单行动态刷新
IDEA输出没有单行刷新,因为IDLE本身屏蔽了单行刷新功能,如果希望获得刷新效果,请使用PyCharm执行
2.1 代码示例
import time
for i in range(101):
print("\r{:2}%".format(i), end="")
time.sleep(0.05)2.2 结果


3、带刷新的文本进度
3.1 代码示例
import time
scale = 50
print("{0:-^20}".format("执行开始"))
for i in range(scale + 1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale) * 100
print("\r{:^3.0f}%{}->{}".format(c,a,b),end="")
time.sleep(0.5)
print("")
print("{0:-^20}".format("执行结束"))3.2 效果



4、进度条设计函数
| 设计名称 | 趋势 | 设计函数 |
| Liner | Constant | f(x) = x |
| Early Pause | Speeds up | f(x) = x+(1-sin(x*π*2+π/2))/-8 |
| Late Pause | Slows down | f(x) = x+(1-sin(x*π*2+π/2))/8 |
| Slow Wavy | Constant | f(x) = x+sin(x*π*5)/20 |
| Fast Wavy | Constant | f(x) = x+sin(x*π*20)/80 |
| Power | Speeds up | f(x) = (x+(1-x)*0.03)2 |
| Inverse Power | Slows down | f(x) = 1+(1-x)1.5 *-1 |
| Fast Power | Speeds up | f(x) = (x+(1-x)/2)8 |
| Inv. Fast Power | Slows down | f(x) = 1+(1-x)3 *-1 |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
这篇文章主要介绍了详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-04-04
pycharm安装深度学习pytorch的d2l包失败问题解决
当新生在学习pytorch时,导入d2l_pytorch包总会遇到问题,下面这篇文章主要给大家介绍了关于pycharm安装深度学习pytorch的d2l包失败问题的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2022-03-03
使用Windows批处理和WMI设置Python的环境变量方法
今天小编就为大家分享一篇使用Windows批处理和WMI设置Python的环境变量方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-08-08


最新评论