六种酷炫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转码问题的解决方法
Oct 07 Python
讲解Python中的递归函数
Apr 27 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 Python
python pycurl验证basic和digest认证的方法
May 02 Python
python简单验证码识别的实现方法
May 10 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
Python log模块logging记录打印用法解析
Jan 20 Python
详解python字符串驻留技术
May 21 Python
健身房被搭讪?用python写了个小米计时器助人为乐
Jun 08 Python
python脚本框架webpy模板赋值实现
Nov 20 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 session_start()出错原因分析及解决方法
2013/10/28 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
jQuery实现查看图片功能
2020/12/01 jQuery
[01:01]2020完美高校联赛(秋)西安落幕
2021/03/11 DOTA
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
使用python存储网页上的图片实例
2018/05/22 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
急诊科护士自我鉴定
2013/10/14 职场文书
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
电工技术比武方案
2014/05/11 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
统计工作个人总结
2015/03/03 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
PHP策略模式写法
2021/04/01 PHP
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
php访问对象中的成员的实例方法
2021/11/17 PHP
keepalived + nginx 实现高可用方案
2022/12/24 Servers