Python3 写个“吊炸天”的进度条

2023-10-14 10:40

本文主要是介绍Python3 写个“吊炸天”的进度条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

做耗时任务时,如果在进度上,对用户没有一点提示的话,容易被当成“死机”,碰到耐心差的,就直接crtl+c了。
如果是自己调试,没那么多讲究,一行行输出日志就好了。但是,让用户使用,最好还是美观点,不是么?而且,对于Python而言,也就是“举手之劳”。

比如这两个效果:
progress:100.00% [20/20]

[####################] [20/20]

思路:

  1. print函数的end参数,用来控制结尾的字符,默认是’\n’,显然我们不能换行,所以改成空字符即可
  2. 我们想要的效果是每一次输出都覆盖掉上一次的输出,所以我们需要利用’\r’,把每次的输出位置放到一行的开头
  3. 剩下的就是保证对完成度百分比的计算,然后转化为百分数,或者图形输出。

上代码:

import timeTOTAL_COUNT = 20  # 计数的上限
TIME_INTERVAL = 0.5  # 时间间隔(秒)
PROGRESSBAR_LENGTH = 20  # 进度条长度# 展示数字百分比模式
def showPercentage():for i in range(TOTAL_COUNT):time.sleep(TIME_INTERVAL)# 构建百分比字符串cur_progress = (i + 1) * 1.0 / TOTAL_COUNT * 100print('\rprogress:%.2f%% [%d/%d]' % (cur_progress, i + 1, TOTAL_COUNT), end="")# 展示进度条的模式
def showProgressBar():for i in range(TOTAL_COUNT):time.sleep(TIME_INTERVAL)# 进度条填充物的长度flag_num = round((i + 1) * 1.0 / TOTAL_COUNT * PROGRESSBAR_LENGTH)# 进度条空白的长度blank_num = PROGRESSBAR_LENGTH - flag_numprint('\r[%s] [%d/%d]' % ('#' * flag_num + ' ' * blank_num, i + 1, TOTAL_COUNT), end="")if __name__ == '__main__':showPercentage()print('\n')showProgressBar()

我爱技术,更爱生活,不才有个小窝,欢迎有空来坐坐~
在这里插入图片描述

这篇关于Python3 写个“吊炸天”的进度条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/209977

相关文章

python3 gunicorn配置文件的用法解读

《python3gunicorn配置文件的用法解读》:本文主要介绍python3gunicorn配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python3 gunicorn配置文件配置文件服务启动、重启、关闭启动重启关闭总结python3 gun

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

python写个唤醒睡眠电脑的脚本

《python写个唤醒睡眠电脑的脚本》这篇文章主要为大家详细介绍了如何使用python写个唤醒睡眠电脑的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 环境:win10python3.12问题描述:怎么用python写个唤醒睡眠电脑的脚本?解决方案:1.唤醒处于睡眠状

Python3中Sanic中间件的使用

《Python3中Sanic中间件的使用》Sanic框架中的中间件是一种强大的工具,本文就来介绍Python3中Sanic中间件的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录Sanic 中间件的工作流程中间件的使用1. 全局中间件2. 路由中间件3. 异常处理中间件4. 异步中间件5. 优先级

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

C++实现百分号进度条的程序

#include<iostream>#include<Windows.h>//Sleep调用using namespace std;int main(){std::cout << "\n正在输出记录数据...... ";for( int i=0; i <= 100; i++ ) // 打印百分比 {std::cout.width(3);//i的输出为3位宽std::cout <<

Python安装:Mac 使用brew 安装Python2 和 Python3

安装python ## python2brew install python ## python3brew install python3 出现错误 Error: An unexpected error occurred during the `brew link` stepThe formula built, but is not symlinked into /usr/loc

Python: #!/usr/bin/python3 #!/usr/bin/env python3

只能放在第一行,第二行就没有效果了。 1. 路径不同 #!/usr/bin/python3&& #!/usr/bin/env python3写在脚本语言第一行的目的是 想要以什么可执行程序去运行这个文件中的代码。 #!/usr/bin/python3是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python3解释器; #!/usr/bin/env python3这种用法是为了

Linux搭建Python3、Django环境

开发十年,就只剩下这套架构体系了! >>>    好久没写了,朋友们,我又回来了。 安装Python3 Python全部版本下载地址:         https://www.python.org/ftp/ 解决RedHat,使用Python3退格出现乱码问题:         yum -y install readline-devel.x86_64 下载Python3: