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、进度条设计函数

设计名称趋势设计函数
LinerConstantf(x) = x
Early PauseSpeeds upf(x) = x+(1-sin(x*π*2+π/2))/-8
Late PauseSlows downf(x) = x+(1-sin(x*π*2+π/2))/8
Slow WavyConstantf(x) = x+sin(x*π*5)/20
Fast WavyConstantf(x) = x+sin(x*π*20)/80
PowerSpeeds upf(x) = (x+(1-x)*0.03)2
Inverse PowerSlows downf(x) = 1+(1-x)1.5 *-1
Fast PowerSpeeds upf(x) = (x+(1-x)/2)8
Inv. Fast PowerSlows downf(x) = 1+(1-x)3 *-1

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中读写Kafka队列的实现示例

    Python中读写Kafka队列的实现示例

    本文介绍了在Python中使用kafka-python库连接和操作Kafka队列,包括生产者发送消息到主题及消费者从主题读取消息的基本步骤, 感兴趣的可以了解一下
    2025-12-12
  • Python WEB应用部署的实现方法

    Python WEB应用部署的实现方法

    这篇文章主要介绍了Python WEB应用部署的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • python编程冒泡排序法实现动图排序示例解析

    python编程冒泡排序法实现动图排序示例解析

    这篇文章主要介绍了python编程中如何使用冒泡排序法实现动图排序的示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • Python中字符串列表的相互转换实际应用场景

    Python中字符串列表的相互转换实际应用场景

    在Python编程中,经常会遇到需要将字符串列表相互转换的情况,这涉及到将逗号分隔的字符串转换为列表,或者将列表中的元素连接成一个字符串,本文将深入讨论这些情景,并提供丰富的示例代码,帮助读者更全面地理解字符串列表的转换操作
    2023-12-12
  • python处理RSTP视频流过程解析

    python处理RSTP视频流过程解析

    这篇文章主要介绍了python处理RSTP视频流过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python数据可视化编程通过Matplotlib创建散点图代码示例

    Python数据可视化编程通过Matplotlib创建散点图代码示例

    这篇文章主要介绍了Python数据可视化编程通过Matplotlib创建散点图实例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Python Flask-web表单使用详解

    Python Flask-web表单使用详解

    这篇文章主要为大家详细介绍了Python Flask-web表单的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Python中request库的各种用法详细解析

    Python中request库的各种用法详细解析

    本文详细介绍了Python的requests库的安装与使用,包括HTTP请求方法、请求头、请求体的基本概念,以及发送GET和POST请求的基本用法,同时,探讨了会话对象、处理重定向、超时设置、代理支持等高级功能,帮助读者更高效地处理复杂的HTTP请求场景,需要的朋友可以参考下
    2024-10-10
  • Python中operator模块的操作符使用示例总结

    Python中operator模块的操作符使用示例总结

    operator模块中包含了Python的各种内置操作符,诸如逻辑、比较、计算等,这里我们针对一些常用的操作符来作一个Python中operator模块的操作符使用示例总结:
    2016-06-06
  • python对常见数据类型的遍历解析

    python对常见数据类型的遍历解析

    这篇文章主要介绍了python对常见数据类型的遍历解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论