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 相关文章推荐
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
web.py获取上传文件名的正确方法
Aug 26 Python
python文件操作整理汇总
Oct 21 Python
Python Web框架Tornado运行和部署
Oct 19 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
Python之list对应元素求和的方法
Jun 28 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
python实现多层感知器MLP(基于双月数据集)
Jan 18 Python
在Python中过滤Windows文件名中的非法字符方法
Jun 10 Python
python3.7通过thrift操作hbase的示例代码
Jan 14 Python
Python的Tqdm模块实现进度条配置
Feb 24 Python
python tkinter Entry控件的焦点移动操作
May 22 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
解析dedecms空间迁移步骤详解
2013/05/15 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
javascript new 需不需要继续使用
2009/07/02 Javascript
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
javascript检测浏览器flash版本的实现代码
2011/12/06 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python中的lstrip()方法使用简介
2015/05/19 Python
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
三星英国官网:Samsung英国
2018/09/25 全球购物
预备党员思想汇报范文
2014/01/11 职场文书
关于迟到的检讨书
2014/01/26 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
婚育证明样本
2015/06/16 职场文书
MySQL查询学习之基础查询操作
2021/05/08 MySQL
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript