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常用模块用法分析
Sep 08 Python
python抓取网页中图片并保存到本地
Dec 01 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
python3中set(集合)的语法总结分享
Mar 24 Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
Dec 28 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
使用python去除图片白色像素的实例
Dec 12 Python
基于python实现把json数据转换成Excel表格
May 07 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
pycharm 实现光标快速移动到括号外或行尾的操作
Feb 05 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彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
详解Python的Lambda函数与排序
2016/10/25 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
Auchan Direct波兰:欧尚在线杂货店
2016/10/19 全球购物
波兰购物网站:MALL.PL
2019/05/01 全球购物
大学旷课检讨书
2014/01/28 职场文书
教师业务学习材料
2014/12/16 职场文书
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android