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程序
Apr 04 Python
python实现根据图标提取分类应用程序实例
Sep 28 Python
详解python中的文件与目录操作
Jul 11 Python
python 2.7.14安装图文教程
Apr 08 Python
解决python读取几千万行的大表内存问题
Jun 26 Python
python实现词法分析器
Jan 31 Python
Python按钮的响应事件详解
Mar 04 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
如何学习Python time模块
Jun 03 Python
浅谈python锁与死锁问题
Aug 14 Python
Django前后端分离csrf token获取方式
Dec 25 Python
pytorch实现ResNet结构的实例代码
May 17 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
如何选购合适的收音机
2021/03/01 无线电
PHP实现的功能是显示8条基色色带
2006/10/09 PHP
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
PHP sprintf()函数用例解析
2011/05/18 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
javascript基本类型详解
2014/11/28 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
微信小程序显示下拉列表功能【附源码下载】
2017/12/12 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
python组合无重复三位数的实例
2018/11/13 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
python opencv实现图像边缘检测
2019/04/29 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
复兴之路展览观后感
2015/06/02 职场文书