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 相关文章推荐
在Linux下调试Python代码的各种方法
Apr 17 Python
如何用itertools解决无序排列组合的问题
May 18 Python
Python中super函数的用法
Nov 17 Python
python pycurl验证basic和digest认证的方法
May 02 Python
python实现字符串中字符分类及个数统计
Sep 28 Python
django 自定义过滤器的实现
Feb 26 Python
python实现弹窗祝福效果
Apr 07 Python
详解python中的模块及包导入
Aug 30 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
Feb 14 Python
keras 自定义loss model.add_loss的使用详解
Jun 22 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 Python
python进行二次方程式计算的实例讲解
Dec 06 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
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
[原创]php获取数组中键值最大数组项的索引值
2015/03/17 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
Python中DJANGO简单测试实例
2015/05/11 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
Python列表操作方法详解
2020/02/09 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
Python代码需要缩进吗
2020/07/01 Python
服务宗旨标语
2014/07/01 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
入党自荐书范文
2015/03/05 职场文书
排球赛新闻稿
2015/07/17 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
MySQL查询日期时间
2022/05/15 MySQL