Python 实现进度条的六种方式


Posted in Python onJanuary 06, 2021

一、普通进度条

示例代码

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)

if __name__ == '__main__':
  progress_bar()

展现形式

Python 实现进度条的六种方式

二、带时间的进度条

导入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 实现进度条的六种方式

三、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 实现进度条的六种方式

四、progress 进度条

只需要定义迭代的次数、进度条类型并在每次迭代时告知进度条即可

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

示例代码

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 实现进度条的六种方式

五、alive_progress 进度条

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

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

示例代码

from alive_progress import alive_bar

# retrieve your set of items
items = range(100)       

# declare your expected total   
with alive_bar(len(items)) as bar:  
  # iterate as usual
  for item in items:        
    # process each item
    bar()
    time.sleep(0.1)

展现形式

Python 实现进度条的六种方式

六、可视化进度条

用 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发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
pygame学习笔记(1):矩形、圆型画图实例
Apr 15 Python
Python中自定义函数的教程
Apr 27 Python
python基础知识小结之集合
Nov 25 Python
Python实现计算最小编辑距离
Mar 17 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
Jul 13 Python
Python中read()、readline()和readlines()三者间的区别和用法
Jul 30 Python
Python后台开发Django会话控制的实现
Apr 15 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
Django数据库操作之save与update的使用
Apr 01 Python
浅谈python数据类型及其操作
May 25 Python
浅析Python OpenCV三种滤镜效果
Apr 11 Python
基于Python实现天天酷跑功能
Jan 06 #Python
python 下载文件的几种方法汇总
Jan 06 #Python
python 视频下载神器(you-get)的具体使用
Jan 06 #Python
python实现模拟器爬取抖音评论数据的示例代码
Jan 06 #Python
如何在vscode中安装python库的方法步骤
Jan 06 #Python
如何利用python 读取配置文件
Jan 06 #Python
Pandas之缺失数据的实现
Jan 06 #Python
You might like
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
PHP中图片等比缩放的实例
2013/03/24 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
javascript 网页跳转的方法
2008/12/24 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Python 使用with上下文实现计时功能
2018/03/09 Python
Python多继承原理与用法示例
2018/08/23 Python
python中cPickle类使用方法详解
2018/08/27 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
实习协议书范本
2014/04/22 职场文书
小学生常见病防治方案
2014/06/06 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
学生会个人总结范文
2015/02/15 职场文书
放假通知格式
2015/04/14 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
Redis高并发缓存架构性能优化
2022/05/15 Redis