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 open()文件处理使用介绍
Nov 30 Python
用Python编写web API的教程
Apr 30 Python
python2.7的编码问题与解决方法
Oct 04 Python
python2.7到3.x迁移指南
Feb 01 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
Python实现求一个集合所有子集的示例
May 04 Python
python读取几个G的csv文件方法
Jan 07 Python
Django中的用户身份验证示例详解
Aug 07 Python
python 协程 gevent原理与用法分析
Nov 22 Python
PyTorch的SoftMax交叉熵损失和梯度用法
Jan 15 Python
python新式类和经典类的区别实例分析
Mar 23 Python
Pytorch数据读取之Dataset和DataLoader知识总结
May 23 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
VIM中设置php自动缩进为4个空格的方法详解
2013/06/14 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
2011/05/07 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
js 通用订单代码
2013/12/23 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
课前三分钟演讲稿
2014/04/24 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
重阳节活动主持词
2015/07/04 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript
docker-compose部署Yapi的方法
2022/04/08 Servers