小工具|Python进度条模块Progressbar

Python进度条模块Progressbar

今天突然被问了一个问题:程序在执行中很久不结束是怎么回事?看不到程序执行的进度,在我们进行大工程的时候的确是一件很头疼的事,本文让我们来了解一个很常用的进度条展示小工具——Progressbar。

注:最新版的使用者不要照着GitHub上的官方文档去操作,文档信息没有维护,会出现很多问题。

下载模块

pip install progressbar

 

注意:安装模块的时候可能会出现warning,耐心等待,总会出现success。

 

简单的使用方法

import timefrom progressbar import * total = 1000 def test_func():    time.sleep(0.01)progress = ProgressBar()for i in progress(range(1000)):    test_func()

 

对于简单的循环函数而言,我们只需要把它加在我们组合了progress方法的循环下就可以了。

我们会看到如下的进度条:

 

放在循环外定义使用

# -*- coding=utf-8 -*-from __future__ import divisionimport sys, timefrom progressbar import *total = 1000def test_func():    time.sleep(0.01)bar = ProgressBar().start()for i in range(1000):    bar.update(int((i / (total - 1)) * 100))    test_func()bar.finish()

注意:不要忽略了start()和fininsh()否则会出现问题。

 

多层信息的展示使用

# -*- coding=utf-8 -*-import timefrom progressbar import *total = 1000def test_func():    time.sleep(0.01)widgets = [    'Progress: ',    Percentage(), ' ',    Bar('#'), ' ',    Timer(), ' ',    ETA(), ' ',    FileTransferSpeed()]bar = ProgressBar(widgets=widgets, maxval=10 * total).start()for i in range(total):    bar.update(10 * i + 1)    test_func()bar.finish()

 

结果如下:

参数说明:

'Progress: ' :设置进度条前显示的文字
Percentage() :显示百分比
Bar('#') :设置进度条形状
ETA() :显示预计剩余时间
Timer() :显示已用时间

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章