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清除指定目录内所有文件中script的方法
Jun 30 Python
Python 数据可视化pyecharts的使用详解
Jun 26 Python
python flask搭建web应用教程
Nov 19 Python
Python Web静态服务器非堵塞模式实现方法示例
Nov 21 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
Python内建序列通用操作6种实现方法
Mar 26 Python
Python实现代码块儿折叠
Apr 15 Python
python numpy实现rolling滚动案例
Jun 08 Python
如何基于Python实现word文档重新排版
Sep 29 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Mar 29 Python
Python Django 后台管理之后台模型属性详解
Apr 25 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优于Node.js的五大理由分享
2012/09/15 PHP
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
用Eclipse写python程序
2018/02/10 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
详解python多线程之间的同步(一)
2019/04/03 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
什么是岗位职责
2013/11/12 职场文书
个人对照检查材料
2014/02/12 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
个人催款函范文
2015/06/24 职场文书
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis