码迷,mamicode.com
首页 > 编程语言 > 详细

python实现一个控制台下的进度条

时间:2016-01-27 23:16:51      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:

  今天写练习爬虫感觉很需要个进度条,就随手用函数实现了一个,到了晚上突然感觉到这个东西应该单独写出来以后肯定用用得着。

 

  代码也很简单,我就不细讲了,直接上代码了。

 

  测试代码:

  instance.py  

import bar
import time

bar = bar.ProgressBar(50,0,2)

for i in range(50):
    bar.move()
#    if i == 15:                
#         bar.reset_pram(30,count=100,width=3)
    bar.bar_run() 
    time.sleep(0.2)

  

技术分享

 

 

 

    bar.py 

# -*- coding:utf-8 -*-

‘‘‘
@author Zhang Te 
Created on Jan 27 2016
‘‘‘

import sys

class ProgressBar:
    ‘‘‘
    doc: This class has been created for something such as waiting for spyder or downloading music in python.
    ‘‘‘

    def __init__(self,total = 0,count = 0,width = 1):

        self.total = total
        self.width = width
        self.count = count


    def reset_pram(self,total = 0,count = 0,width = 1):
        
        sys.stdout.write(  * ( self.total * self.width + 8) + \r)
        sys.stdout.flush()
        self.total = total
        self.count = count
        self.total = total

    def move(self):
        
        if self.count != self.total:
            self.count += 1

    def bar_run(self):
        
        if self.count <= self.total:
            sys.stdout.write(  * self.count * self.width + \r)
            sys.stdout.flush()

            sys.stdout.write({0:3}/{1:3} .format(self.count,self.total) )
            sys.stdout.write(# * self.width * self.count + - * (self.total - self.count) * self.width + \r)        
        
            sys.stdout.flush()
        else:
            self.count = self.total
    

 

python实现一个控制台下的进度条

标签:

原文地址:http://www.cnblogs.com/zhangte/p/5164562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!