python实现文本进度条 程序进度条 加载进度条 单行刷新功能


Posted in Python onJuly 03, 2019

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实现文本进度条 程序进度条 加载进度条 单行刷新,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python回溯法实现数组全排列输出实例分析
Mar 17 Python
python实现给数组按片赋值的方法
Jul 28 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
python读取几个G的csv文件方法
Jan 07 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
Jun 18 Python
简单了解python PEP的一些知识
Jul 13 Python
浅谈python3中input输入的使用
Aug 02 Python
python通过opencv实现图片裁剪原理解析
Jan 19 Python
Python如何脚本过滤文件中的注释
May 27 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
Aug 07 Python
浅谈Python xlwings 读取Excel文件的正确姿势
Feb 26 Python
Python 用户输入和while循环的操作
May 23 Python
Python Pandas数据结构简单介绍
Jul 03 #Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 #Python
Python实现个人微信号自动监控告警的示例
Jul 03 #Python
python pandas模块基础学习详解
Jul 03 #Python
python将excel转换为csv的代码方法总结
Jul 03 #Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 #Python
python实现控制COM口的示例
Jul 03 #Python
You might like
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
php车辆违章查询数据示例
2016/10/14 PHP
php微信支付之公众号支付功能
2018/05/30 PHP
PHP实现简单日历类编写
2020/08/28 PHP
JavaScript基本对象
2007/01/11 Javascript
CSS常用网站布局实例
2008/04/03 Javascript
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python中zip()函数用法实例教程
2014/07/31 Python
Python生成随机密码
2015/03/10 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
css3动画事件—webkitAnimationEnd与计时器time事件
2013/01/31 HTML / CSS
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
残疾人创业典型事迹
2014/02/01 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
物业总经理岗位职责
2014/02/28 职场文书
小学语文国培感言
2014/03/04 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
医学生自荐信范文
2015/03/05 职场文书
出国留学自荐信模板
2015/03/06 职场文书