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 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:

初识Linux · 进度条

目录 前言: 1 缓冲区和回车换行 2 进度条 前言: 我们目前学习了些许知识,已经足够支持我们写一个非常非常小的项目了,即进度条,相信大家都有过下载游戏,等待游戏更新完成的时候,那么此时就有一个进度条,代表着游戏的更新进度,那么我们今天就来模拟实现这个过程,在此之前,我们需要一些预备知识。 1 缓冲区和回车换行 回车换行?是的,你没有看错,相信不少人对换行有一定的误解,我们

ubuntu 安装python3 教程

本篇教程,主要介绍如何在Ubuntu上安装python3教程。 1、查看是否有python 在安装前,首先看看自己系统上,是否存在python环境,可能有些系统,默认就安装过python,如果已经有python了,可以直接跳过安装教程。 2、安装步骤 apt update && apt install -y python3 python3-pip

Linux学习之【安装g++,并且写个c++程序】

一、ubuntu下gcc/g++/gfortran的安装 1.安装 (1).gcc ubuntu下自带gcc编译器。可以通过“gcc -v”命令来查看是否安装。 (2).g++ 安装g++编译器,可以通过命令“sudo apt-get install build-essential”实现。 执行完后,就完成了gcc,g++,make的安装。build-essential是一整套工具,g

【python requests警告】python3.x requests库取消ssl验证,InsecureRequestWarning: Unverified HTTPS request is be

警告信息: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warni

设置python4delphi支持python3.X

看不懂也要跟踪下,哪哪出问题了,嗯,是python的Py_Initialize()出问题,这行代码   Py_Initialize             := Import('Py_Initialize'); 咋办呢,万能的互联网啊(哪天不能上网,那是不是也活的差不多了) 网上说,一般出这个问题,是python的路径出问题了,系统环境变量里找不着python了,哦,是这样,但是我不能设置p