六种酷炫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将文本转换成图片输出的方法
Apr 28 Python
详解Python字符串对象的实现
Dec 24 Python
Python字符串处理实例详解
May 18 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
django中的HTML控件及参数传递方法
Mar 20 Python
Python代码实现http/https代理服务器的脚本
Aug 12 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
python实现简单成绩录入系统
Sep 19 Python
基于python实现删除指定文件类型
Jul 21 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
Nov 20 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
PyTorch dropout设置训练和测试模式的实现
May 27 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
编译问题
2006/10/09 PHP
php 获取本机外网/公网IP的代码
2010/05/09 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python 列表降维的实例讲解
2018/06/28 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
简单了解python数组的基本操作
2019/11/26 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
Html5新增标签有哪些
2017/04/13 HTML / CSS
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
抵押贷款承诺书
2014/05/30 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL