2010-06-09 5 views
0

진행률 표시 줄을 사용하여 스크립트 진행 상황을 표시하려고합니다. 클래스의 모든 함수를 실행 한 후에 진행률을 높이고 싶습니다. 내가 시도한 코드는 아래와 같습니다.진행률 표시 줄을 얻는 방법 클래스 실행

import progressbar 
from time import sleep 

class hello(): 
    def no(self): 
     print 'hello!' 

    def yes(self): 
     print 'No!!!!!!' 


def pro(): 
    bar = progressbar.ProgressBar(widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()]) 

    for i in Yep(): 
     bar.update(Yep.i()) 
     sleep(0.1) 
    bar.finish() 

if __name__ == "__main__": 
    Yep = hello() 
    pro() 

누구나이 작업을 수행하는 방법을 알고 있습니까? 감사합니다.

답변

2

원하는 작업을 수행합니까?

import progressbar 
from time import sleep 

class hello(): 
    def no(self): 
     print 'hello!' 

    def yes(self): 
     print 'No!!!!!!' 

    def __call__(self) : 
     methods = [self.no, self.yes] 
     return [ (x[0]*100/len(methods), x[1]) for x in enumerate(methods) ] 

def pro(): 
    bar = progressbar.ProgressBar(widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()]) 

    for percent, method in Yep(): 
     bar.update(percent) 
     method() 
     sleep(0.1) 
    bar.finish() 

if __name__ == "__main__": 
    Yep = hello() 
    pro() 

가능한 개선 : (progress_ 그들을 앞에 예를 들어) 자신의 이름으로 호출하는 방법을 발견 그 작품의 완벽

+0

. 당신의 도움을 주셔서 감사합니다. – chrissygormley

+0

여러분을 환영합니다! – yanjost

관련 문제