코딩을 하다보면 시간이 오래걸리는 작업을 진행해야할 경우가 있습니다. 이 경우 지금 제대로 진행되고 있는지 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%로 완료해줄 수 있는 코드입니다.
마무리
파이썬으로 프로젝트를 진행하다보면 특정 작업에서 시간이 많이 소요되는 경우가 많습니다. 이럴 때 마냥 화면만 보고 기다리면 제대로 동작하고 있는지, 반복문이 잘 반복되고 있는지 궁금할 때가 있습니다. 이런 경우 해당 패키지를 이용하여 확인하시면 도움이 되리라 생각합니다.
오늘도 행복한 파이썬 생활 되시기 바랍니다. 감사합니다.
'개발 > python' 카테고리의 다른 글
python 문자열 포매팅, string 을 세밀하게 다루는 방법 (4) | 2022.04.12 |
---|---|
python os 모듈, 알아두면 유용한 5가지 함수 (0) | 2022.04.06 |
python 타입 비교 및 확인, type 함수 대신 isinstance 함수 사용법 (0) | 2022.04.01 |
[python] python 백그라운드 실행, nohup (0) | 2021.09.13 |
[python] logging 이용하여 log 쉽게 남기기 (0) | 2021.09.13 |
댓글