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 __setattr__、 __getattr__、 __delattr__、__call__用法示例
Mar 06 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
Mar 02 Python
python 通过xml获取测试节点和属性的实例
Mar 31 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
Apr 25 Python
python用户评论标签匹配的解决方法
May 31 Python
Python查找文件中包含中文的行方法
Dec 19 Python
Python使用paramiko操作linux的方法讲解
Feb 25 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
Mar 06 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
Python Serial串口基本操作(收发数据)
Nov 06 Python
python 用pandas实现数据透视表功能
Dec 21 Python
python神经网络学习 使用Keras进行简单分类
May 04 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
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
详解JavaScript执行模型
2020/11/16 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
python 日期排序的实例代码
2019/07/11 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
教师应聘个人求职信
2013/12/10 职场文书
社区端午节活动方案
2014/01/28 职场文书
会计自荐信范文
2014/03/09 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
实习护士自荐信
2014/06/21 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
python 安全地删除列表元素的方法
2022/03/16 Python