python은 컨트롤러 아래의 진도표를 실현합니다

3010 단어
오늘 연습 파충류를 쓰는데 진도표가 필요할 것 같아서 함수로 하나를 이루었는데, 밤이 되자 갑자기 이 물건을 단독으로 써야 한다는 것을 느꼈기 때문에 틀림없이 쓸모가 있을 것이다.
 
코드도 간단해서 나는 자세히 말하지 않고 바로 코드에 올랐다.
 
테스트 코드:
  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
    

좋은 웹페이지 즐겨찾기