Python使用progressbar模块实现的显示进度条功能

yipeiwu_com6年前Python基础

本文实例讲述了Python使用progressbar模块实现的显示进度条功能。分享给大家供大家参考,具体如下:

progressbar安装:

pip install progressbar

用法一

# -*- coding=utf-8 -*-
import time
from progressbar import *
total = 1000
def dosomework():
  time.sleep(0.01)
progress = ProgressBar()
for i in progress(range(1000)):
  dosomework()

显示效果:

5% |###                                                                      |
100% |#########################################################################|

用法二

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

显示效果:

39% |##############################                                               |
100% |#############################################################################|

用法三

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

显示效果:

Progress:   3% |###                                                                                | Elapsed Time: 0:00:15 ETA: 0:09:02 919.67  B/s
Progress: 100% |###################################################################################| Elapsed Time: 0:10:10 Time: 0:10:10 917.42  B/s

widgets可选参数含义:

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

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python多线程http下载实现示例

测试平台 Ubuntu 13.04 X86_64 Python 2.7.4 花了将近两个小时, 问题主要刚开始没有想到传一个文件对象到线程里面去, 导致下载下来的文件和源文件MD5不一样...

Python3使用SMTP发送带附件邮件

Python3使用SMTP发送带附件邮件

一、设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:【一】/post/142220.htm 二、使用Python3 发送带附件的邮件 0.使用的环境为: Pytho...

浅析Python中的join()方法的使用

 join()方法方法返回一个在序列的字符串元素被加入了由str分隔的字符串。 语法 以下是join()方法的语法: str.join(sequence) 参数...

Django接收自定义http header过程详解

add by zhj: Django将所有http header(包括你自定义的http header)都放在了HttpRequest.META这个Python标准字典中,当然HttpR...

Python和Ruby中each循环引用变量问题(一个隐秘BUG?)

虽然这个问题我是在 Python 里遇到的,但是用 Ruby 解释起来比较容易一些。在 Ruby 里,遍历一个数组可以有很多种方法,最常用的两种无非是 for 和 each:复制代码 代...