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 相关文章推荐
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Dec 04 Python
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
python删除过期文件的方法
May 29 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
使用WingPro 7 设置Python路径的方法
Jul 24 Python
python装饰器练习题及答案
Nov 01 Python
详解Python list和numpy array的存储和读取方法
Nov 06 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
Python: glob匹配文件的操作
Dec 11 Python
pycharm 关闭search everywhere的解决操作
Jan 15 Python
Python激活Anaconda环境变量的详细步骤
Jun 08 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/03 咖啡文化
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
解析php中memcache的应用
2013/06/18 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
php计算税后工资的方法
2015/07/28 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
python将txt文件读取为字典的示例
2018/12/22 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
优秀员工自荐书范文
2013/12/08 职场文书
宣传普通话标语
2014/06/27 职场文书
竞选班长演讲稿400字
2014/08/22 职场文书
个人工作总结范文2014
2014/11/07 职场文书
生日答谢词
2015/01/05 职场文书
报案材料怎么写
2015/05/25 职场文书
深度学习tensorflow基础mnist
2021/04/14 Python