본문 바로가기
개발/python

python 진행 사항 확인, progressbar 간단 사용 방법

by 왼하루 2022. 3. 29.
반응형

코딩을 하다보면 시간이 오래걸리는 작업을 진행해야할 경우가 있습니다. 이 경우 지금 제대로 진행되고 있는지 progressbar 라는 패키지를 통해 확인할 수 있습니다. 특히 반복문을 사용할 때 유용합니다.

 

 

progressbar 를 통해 쉽게 진행사항 확인하기

progressbar 패키지를 설치하고, 이를 활용한 코드를 살펴봄으로써 익혀보도록 하겠습니다.

 

 


 

progressbar 패키지 설치

먼저 pip 를 통해 progressbar 패키지를 설치합니다.

 

pip install progressbar

 

 


 

사용 방법

아래는 전체 예시 코드입니다. 리스트를 순회하며 리스트의 값을 더하는 코드입니다.

 

import progressbar
import time

loop_list = [1,3,5,7,9]
sum = 0

bar = progressbar.ProgressBar(maxval=len(loop_list)).start()
for i, num in enumerate(loop_list, start=0):
    bar.update(i)
    time.sleep(1)
    sum+=num

bar.finish()
print(sum)

 


 

bar = progressbar.ProgressBar(maxval=len(loop_list)).start()

 

ProgressBar 객체를 선언하고 이를 시작해주는 부분입니다. maxval 은 int 값으로, 현재 코드에서는 loop_list 의 길이 입니다.

 


 

for i, num in enumerate(loop_list, start=0):
    bar.update(i)
    time.sleep(1)
    sum+=num

 

for 반복문에서 enumerate를 쓰면 index 와 요소를 동시에 접근할 수 있습니다. 현재 리스트 요소의 수는 5개 이고, start를 0으로 지정해줌으로써 i는 0~4까지 순서대로 동작할 것입니다. time.sleep(1) 은 1초간 딜레이를 줍니다.

 

bar.update(i)i 가 bar 객체에서 선언된 maxval 에서 차지하는 %를 화면에 표기해줍니다. update 가 실행될 때마다 새로운 라인으로 출력되지 않고 현재 라인에서 갱신됩니다.

 

화면 표시

 


 

bar.finish()

 

bar.finish() 는 progressbar 를 100%로 완료해줍니다. 위의 코드에서 maxval 은 5 인데 i 의 최종값은 4 이므로 update는 80% 까지 밖에 이루어지지 않습니다. 하지만 모든 반복문을 수행했기 때문에 bar.finish()를 사용하여 100%로 완료해줄 수 있는 코드입니다.

 

 


 

마무리

파이썬으로 프로젝트를 진행하다보면 특정 작업에서 시간이 많이 소요되는 경우가 많습니다. 이럴 때 마냥 화면만 보고 기다리면 제대로 동작하고 있는지, 반복문이 잘 반복되고 있는지 궁금할 때가 있습니다. 이런 경우 해당 패키지를 이용하여 확인하시면 도움이 되리라 생각합니다.

 

오늘도 행복한 파이썬 생활 되시기 바랍니다. 감사합니다.

 

 

 

댓글