python 进度条

匿名 (未验证) 提交于 2019-12-02 22:54:36

Python显示进度条,实时显示处理进度

前言

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

如何使用这个类

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

process_bar = ShowProcess(max_steps, infoDone) # 1.在循环前定义类的实体, max_steps是总的步数, infoDone是在完成时需要显示的字符串 for i in range(max_steps):         process_bar.show_process()      # 2.显示当前进度     time.sleep(0.05)    
  • 1
  • 2
  • 3
  • 4

进度条的实现

由于很简单,直接上代码

# -*- coding: UTF-8 -*-  import sys, time  class ShowProcess():     """     显示处理进度的类     调用该类相关函数即可实现处理进度的显示     """     i = 0 # 当前的处理进度     max_steps = 0 # 总共需要处理的次数     max_arrow = 50 #进度条的长度     infoDone = 'done'      # 初始化函数,需要知道总共的处理次数     def __init__(self, max_steps, infoDone = 'Done'):         self.max_steps = max_steps         self.i = 0         self.infoDone = infoDone      # 显示函数,根据当前的处理进度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()         if self.i >= self.max_steps:             self.close()      def close(self):         print('')         print(self.infoDone)         self.i = 0  if __name__=='__main__':     max_steps = 100      process_bar = ShowProcess(max_steps, 'OK')      for i in range(max_steps):         process_bar.show_process()         time.sleep(0.01)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

运行

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

[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00% OK
转载请标明出处:python 进度条
文章来源: python 进度条
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!