Python进度条实时显示处理进度的示例代码

 更新时间:2018年01月30日 15:59:50   作者:持久决心  
本篇文章主要介绍了Python进度条实时显示处理进度的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

前言

在大多数时候,我们的程序会一直进行循环处理。这时候,我们非常希望能够知道程序的处理进度,由此来决定接下来该做些什么。接下来告诉大家如何简单又漂亮的实现这一功能。

如何使用这个类

使用这个类很简单,只需要三步即可完成,如下:

process_bar = ShowProcess(max_steps) # 1.在循环前定义类的实体, max_steps是总的步数  
for i in range(max_steps + 1):  
  process_bar.show_process()   # 2.显示当前进度
  time.sleep(0.05)  
process_bar.close('done')      # 3.处理结束后显示消息  

进度条的实现

由于很简单,直接上代码

#!/usr/local/lib
# -*- coding: UTF-8 -*-

import sys, time

class ShowProcess():
  """
  显示处理进度的类
  调用该类相关函数即可实现处理进度的显示
  """
  i = 0 # 当前的处理进度
  max_steps = 0 # 总共需要处理的次数
  max_arrow = 50 #进度条的长度

  # 初始化函数,需要知道总共的处理次数
  def __init__(self, max_steps):
    self.max_steps = max_steps
    self.i = 0

  # 显示函数,根据当前的处理进度i显示进度
  # 效果为[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00%
  def show_process(self, i=None):
    if i is not None:
      self.i = i
    else:
      self.i += 1
    num_arrow = int(self.i * self.max_arrow / self.max_steps) #计算显示多少个'>'
    num_line = self.max_arrow - num_arrow #计算显示多少个'-'
    percent = self.i * 100.0 / self.max_steps #计算完成进度,格式为xx.xx%
    process_bar = '[' + '>' * num_arrow + '-' * num_line + ']'\
           + '%.2f' % percent + '%' + '\r' #带输出的字符串,'\r'表示不换行回到最左边
    sys.stdout.write(process_bar) #这两句打印字符到终端
    sys.stdout.flush()

  def close(self, words='done'):
    print ''
    print words
    self.i = 0

if __name__=='__main__':
  max_steps = 100

  process_bar = ShowProcess(max_steps)

  for i in range(max_steps + 1):
    process_bar.show_process()
    time.sleep(0.05)
  process_bar.close()

运行

按照主函数的方法调用此类即可,显示效果如下:

[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00%
done

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python常用模块函数代码汇总解析

    Python常用模块函数代码汇总解析

    这篇文章主要介绍了Python常用模块函数代码汇总解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • python3中property使用方法详解

    python3中property使用方法详解

    这篇文章主要为大家详细介绍了python3中的property使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • PyQtGraph在pyqt中的应用及安装过程

    PyQtGraph在pyqt中的应用及安装过程

    这篇文章主要介绍了PyQtGraph在pyqt中的应用,文中给大家介绍了pyqtgraph的主要用途及PyQtGraph的安装过程,需要的朋友可以参考下
    2019-08-08
  • django框架创建应用操作示例

    django框架创建应用操作示例

    这篇文章主要介绍了django框架创建应用操作,结合实例形式分析了Django框架的安装、创建项目、创建数据库及创建应用相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • Python 实现静态链表案例详解

    Python 实现静态链表案例详解

    这篇文章主要介绍了Python 实现静态链表案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • python pandas分组聚合详细

    python pandas分组聚合详细

    分组聚合是数据处理中常见的场景,在pandas中用groupby方法实现分组操作,用agg方法实现聚合操作,在这篇文章里有主要介绍,感兴趣的朋友请参考下文
    2021-09-09
  • Python对DataFrame中所有行数据进行比较的几种方法

    Python对DataFrame中所有行数据进行比较的几种方法

    在数据分析中,比较DataFrame数据框中的行是一项基本操作,可应用于多种场景,在本文中,我们将学习各种方法,将DataFrame中的行与每一行进行比较,直到所有行都被比较完,结果存储在一个列表中,需要的朋友可以参考下
    2024-12-12
  • python如何实现远程控制电脑(结合微信)

    python如何实现远程控制电脑(结合微信)

    这篇文章主要介绍了python如何实现远程控制电脑,利用python设计了一个程序来实现自由管控,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • Python中进行表单处理的方法详解

    Python中进行表单处理的方法详解

    这篇文章主要为大家详细介绍了Python中进行表单处理的方法,分别是利用Flask和Flask-WTF处理表单,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-12-12
  • python提取具有某种特定字符串的行数据方法

    python提取具有某种特定字符串的行数据方法

    今天小编就为大家分享一篇python提取具有某种特定字符串的行数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论