python-progress-进度条

0.摘要

本文主要介绍在python3环境下使用progress库显示程序运行进度条。

python3中安装progress:pip install progressbar2

python2中安装progress:pip install progressbar

1.三个步骤

progressbar的基础步骤为:start,update,finish

start(max_value=None, init=True):Starts measuring time, and prints the bar at 0%。

update(value=None, force=False, **kwargs): Updates the ProgressBar to a new value。

finish(end='\n') :Puts the ProgressBar bar in the finished state。

import progressbar

def fun(n):
    if n == 1 or n == 2:
        return 1
    else:
        return fun(n-1) + fun(n-2)

if __name__ == '__main__':
    p = progressbar.ProgressBar()
    max_value = 100
    p.start(max_value)
    for n in range(max_value):
        fun(n+1)
        p.update(n+1)
    p.finish()

如果没有finish步骤,进度条达到100%后自动退出。

2.配置方法

ProgressBar类在实例化的时候,可以通过widgets参数进行进度条样式设置。

import time
import progressbar

if __name__ == '__main__':
    widgets = [ 'My progress1 :',' [', progressbar.Timer(), '] ',progressbar.Bar('&'), ' (', progressbar.ETA(), ') ']
    p = progressbar.ProgressBar(widgets=widgets)
    max_value = 100
    p.start(max_value)
    for n in range(max_value):
        time.sleep(0.001 * n)
        p.update(n+1)
    p.finish()

widgets参数设置的是进度条的样式。进度条显示的样式将按照列表中元素的顺序进行显示,类似于print函数。

下面对例子中的widgets参数进行详细介绍:

 

显示出来的进度条正如我们配置的那样:

以'My progress1 :'打头;之后'[]'中存放progressbar.Timer();后跟进度条progressbar.Bar('&'),以‘&’作为进度条的符号;以放在括号中的progressbar.ETA()结尾。

关于widgets中可以调用的方法很多,这里只简单列举几个,更多内容详见:https://pypi.org/project/progressbar2/

  •  
  • Bar('#') : 调用进度条步进框,并以‘#’符号显示。
  • Timer() :已用时间。
  • ETA() : 预计剩余时间。
  • Percentage() :进度百分比。

猜你喜欢

转载自blog.csdn.net/qq_17753903/article/details/85041604