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在linux中输出带颜色的文字的方法
Jun 19 Python
讲解Python中运算符使用时的优先级
May 14 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
Apr 24 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
python构建基础的爬虫教学
Dec 23 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
Pytest mark使用实例及原理解析
Feb 22 Python
python实现UDP协议下的文件传输
Mar 20 Python
python3注册全局热键的实现
Mar 22 Python
Python 实现自动完成A4标签排版打印功能
Apr 09 Python
python基于socket模拟实现ssh远程执行命令
Dec 05 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/04 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
javascript之Partial Application学习
2013/01/10 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
Unicode和Python的中文处理
2017/03/19 Python
对numpy中轴与维度的理解
2018/04/18 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
python带参数打包exe及调用方式
2019/12/21 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
法律工作求职自荐信
2013/10/31 职场文书
教师个人年终总结
2015/02/11 职场文书
好好学习保证书
2015/02/26 职场文书
教师求职自荐信范文
2015/03/04 职场文书
黑白记忆观后感
2015/06/18 职场文书
合同范本之电脑出租
2019/08/13 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android