python实现文本进度条 程序进度条 加载进度条 单行刷新功能
作者:눈_눈 axe 发布时间:2021-04-06 09:29:53
标签:python,进度条,刷新
python实现文本进度条 程序进度条 加载进度条 单行刷新功能,具体内容如下所示:
利用time库来替代某个程序 的进行过程,做实例,
思路是,简单打印出来程序进度
单行刷新关键是\r,
python默认是print后换行,所以加一个\r是光标回退到之前位置
import time
tm=10
print('{:-^18}'.format('开始'))
for i in range(tm+1):
a='#'*i
b='.'*(tm-i)
c=(i/tm)*100
print('\r{:^3.0f}%[{}->{}]'.format(c,a,b),end="")#记得要光标回退,这是python3的打法,python2的把最后的end=‘'改了就好
time.sleep(0.1)#这是模拟程序进程,可将time.sleep替换成程序进程
print('{:-^18}'.format('结束'))
没有\r的效果是
--------开始--------
0 %[->..........]
10 %[#->.........]
20 %[##->........]
30 %[###->.......]
40 %[####->......]
50 %[#####->.....]
60 %[######->....]
70 %[#######->...]
80 %[########->..]
90 %[#########->.]
100%[##########->]
--------结束--------
有\r的最终效果是
--------开始--------
100%[##########->]--------结束--------
这里最后两个重叠了,所以还要加一个换行就好了,最后一行改为、
print('\n'+'{:-^18}'.format('结束'))
ps:下面看下用python实现单行动态刷新文本进度条
TextProBar.py
import time
scale = 50
print("执行开始".center(scale // 2,"-"))
start = time.perf_counter()
for i in range(scale + 1):
a = "*" * i
b = "." * (scale - i)
c = (i / scale) * 100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end = "")
time.sleep(0.1)
print("\n"+"执行结束".center(scale // 2,"-"))
\r:可以使打印后的光标退回到之前的位置覆盖之前的字符,不过会被IDLE屏蔽。所以要用命令行`执行
(IDLE本身是编写程序的开发环境,并不是程序运行的主要环境。正常运行程序我们要么通过双击要么通过控制台,一般很少直接通过IDLE来运行的。由于IDLE被设定为开发环境,为了保证其中参数的运行效果,所以就把其中一个效果\r给屏蔽了)
总结
以上所述是小编给大家介绍的python实现文本进度条 程序进度条 加载进度条 单行刷新,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/weixin_43858318/article/details/87717593


猜你喜欢
- profile是什么当我们要对某一条sql的性能进行分析时,可以使用它。Profiling是从 mysql5.0.3版本以后才开放的。启动p
- Mysql分页采用limt关键字select * from t_order limit 5,10; #返回第6-15行数据select *
- 今天早上用pycharm启动django工程的时候,一直卡在如下提示:Performing system checks...System c
- 本文我们总结了几个在安装SQL Server数据库时常见问题的解决方案,供初学者学习参考,接下来让我们来一起看一下吧。常见问题一:安装Sql
- 相信大家刚开始做都会遇到这个问题,在网上找了好多也不管用,都写的不全,在这里记录一下,希望对大家有所帮助一、配置Vue前端在config下i
- python去除文件中重复的行,我们可以设置一个一个空list,res_list,用来加入没有出现过的字符行!如果出现在res_list,我
- subprocess.Popen用来创建子进程。1)Popen启动新的进程与父进程并行执行,默认父进程不等待新进程结束。def TestPo
- 简介前几天捣鼓了一下Ubuntu,正是想用一下我旧电脑上的N卡,可以用GPU来跑代码,体验一下多核的快乐。还好我这破电脑也是支持Cuda的:
- 数据共享是数据库最基本的特征之一。但是数据共享虽然为员工带来了便利,但也产生了一些负面作用。例如因用户并发存取而导致的对数据一致性的破坏、由
- Golang中Array是值类型而slice是引用类型。因此两者之间的赋值或拷贝有些差异,本文带你了解各自的差异。1. 拷贝array前面提
- 一.图像量化处理原理量化(Quantization)旨在将图像像素点对应亮度的连续变化区间转换为单个特定值的过程,即将原始灰度图像的空间坐标
- Vue项目中使用button绑定click事件事件无法触发methods中的方法解决办法事故还原小胖做完公司的项目,老大看着小胖疲惫的脸庞,
- 函数 0. 显示当前时间命令:select now()。作用: 显示当前时间。应用场景: 创建时间,修改时间等默认值。例子:mys
- 安装显示目录功能:pip install jupyter_contrib_nbextensions配置:安装完之后需要配置 nbextens
- 前言一周没有更新博客了,这一周的时间内加强了对机器学习和图像处理的学习。学的有点混乱,有必要记录一下。深度学习可以解决很多问题,但有时候深度
- 前言查询信息的来源如果来自多张表,则必须对这些表进行连接查询。连接是把不同表的记录连到一起的最普遍的方法,通过连接查询可将多个表作为一个表进
- 前言最近在学习vue框架的基本原理,看了一些技术博客以及一些对vue源码的简单实现,对数据代理、数据劫持、模板解析、变异数组方法、双向绑定有
- 本文实例讲述了Python设置默认编码为utf8的方法。分享给大家供大家参考,具体如下:这是Python的编码问题,设置python的默认编
- 1 Python自动绘图在这里我主要运用了pyautocad库进行AutoCAD的自动化操作,pyautocad是一款功能非常强大的Auto
- 当我们在使用TestNG时,发现它有一个非常好用的参数化功能。当你的测试用例有固定的参数和断言结果时,它可以相似用例的节省用例的个数。例子如