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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现一个控制台下的进度条相关的知识,希望对你有一定的参考价值。

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

 

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

 

  测试代码:

  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实现一个控制台下的进度条的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV+python实现摄像头简单手势识别--进度条控制亮度

如何使用 asynctask 执行数据库操作来实现进度条?

Python实现进度条和时间预估的示例代码

Python实现进度条和时间预估的示例代码

python实现进度条

Python实用工具用Python在控制台输出进度条