六种酷炫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 01 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
python实现简易通讯录修改版
Mar 13 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
linux环境下Django的安装配置详解
Jul 22 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
使用Python-OpenCV消除图像中孤立的小区域操作
Jul 05 Python
python 实现压缩和解压缩的示例
Sep 22 Python
python如何快速拼接字符串
Oct 28 Python
python wsgiref源码解析
Feb 06 Python
详解python的xlwings库读写excel操作总结
Feb 26 Python
用python自动生成日历
Apr 24 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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
javascript demo 基本技巧
2009/12/18 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
JS模式之简单的订阅者和发布者模式完整实例
2015/06/30 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
ionic3 懒加载
2017/08/16 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
Python 探针的实现原理
2016/04/23 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
python从子线程中获得返回值的方法
2019/01/30 Python
python logging模块的使用总结
2019/07/09 Python
django-filter和普通查询的例子
2019/08/12 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
2020/08/07 Python
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
员工安全生产责任书
2014/07/22 职场文书
大一学生个人总结
2015/02/15 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
创业计划书之酒厂
2019/10/14 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫