六种酷炫Python运行进度条效果的实现代码


Posted in Python onJuly 17, 2020

本文介绍了目前6种比较常用的进度条,让大家都能直观地看到脚本运行最新的进展情况

1.普通进度条

在代码迭代运行中可以自己进行统计计算,并使用格式化字符串输出代码运行进度

import sys
import time
def progress_bar():
 for i in range(1, 101):
 print("\r", end="")
 print("Download progress: {}%: ".format(i), "?" * (i // 2), end="")
 sys.stdout.flush()
 time.sleep(0.05)
progress_bar()

六种酷炫Python运行进度条效果的实现代码

进度条1

2.带时间进度条

导入time模块来计算代码运行的时间,加上代码迭代进度使用格式化字符串来输出代码运行进度

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,"-"))

六种酷炫Python运行进度条效果的实现代码

进度条2

3.tpdm进度条

这是一个专门生成进度条的工具包,可以使用pip在终端进行下载,当然还能切换进度条风格

from time import sleep
from tqdm import tqdm
# 这里同样的,tqdm就是这个进度条最常用的一个方法
# 里面存一个可迭代对象
for i in tqdm(range(1, 500)):
 # 模拟你的任务
 sleep(0.01)
sleep(0.5)

六种酷炫Python运行进度条效果的实现代码

相关文档:https://tqdm.github.io/

4.progress进度条

你只需要定义迭代的次数、进度条类型并在每次迭代时告知进度条即可,具体代码案例如下

import time
from progress.bar import IncrementalBar
mylist = [1,2,3,4,5,6,7,8]
bar = IncrementalBar('Countdown', max = len(mylist))
for item in mylist:
 bar.next()
 time.sleep(1)
 bar.finish()

六种酷炫Python运行进度条效果的实现代码

相关文档:https://pypi.org/project/progress/1.5/

5.alive_progress进度条

顾名思义,这个库可以使得进度条变得生动起来,它比原来我们见过的进度条多了一些动画效果,需要使用pip进行下载,代码案例如下:

from alive_progress import alive_bar
items = range(100)  # retrieve your set of items
with alive_bar(len(items)) as bar: # declare your expected total
 for item in items: # iterate as usual
 # process each item
 bar()
 time.sleep(0.1)

六种酷炫Python运行进度条效果的实现代码

相关文档:https://github.com/rsalmei/alive-progress

6.可视化进度条

用 PySimpleGUI 得到图形化进度条,我们可以加一行简单的代码,在命令行脚本中得到图形化进度条,也是使用pip进行下载,代码案例如下

import PySimpleGUI as sg
import time
mylist = [1,2,3,4,5,6,7,8]
for i, item in enumerate(mylist):
 sg.one_line_progress_meter('This is my progress meter!', i+1, len(mylist), '-key-')
 time.sleep(1)

六种酷炫Python运行进度条效果的实现代码

到此这篇关于六种酷炫Python运行进度条的文章就介绍到这了,更多相关Python运行进度条内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python正则表达式判断字符串是否是全部小写示例
Dec 25 Python
Python实现的简单发送邮件脚本分享
Nov 07 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
python xml解析实例详解
Nov 14 Python
Python实现中文数字转换为阿拉伯数字的方法示例
May 26 Python
在java中如何定义一个抽象属性示例详解
Aug 18 Python
《Python学习手册》学习总结
Jan 17 Python
使用sklearn之LabelEncoder将Label标准化的方法
Jul 11 Python
Pandas统计重复的列里面的值方法
Jan 30 Python
Python增强赋值和共享引用注意事项小结
May 28 Python
python多进程下实现日志记录按时间分割
Jul 22 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
idea2020手动安装python插件的实现方法
Jul 17 #Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 #Python
python实现数字炸弹游戏
Jul 17 #Python
python实现数字炸弹游戏程序
Jul 17 #Python
Matlab中plot基本用法的具体使用
Jul 17 #Python
python 基于卡方值分箱算法的实现示例
Jul 17 #Python
Python DES加密实现原理及实例解析
Jul 17 #Python
You might like
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
jquery 指南/入门基础
2007/11/30 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
js实现固定区域内的不重叠随机圆
2019/10/24 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
大学生创业计划书
2019/06/24 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android