반복문을 돌리다보면 현재 얼마나 진행되었는지 보고싶을것이다

 

for index in range(1000):
    print(index)

나도 귀찮으니 보통 index 를 출력하는 방법으로 보긴 하지만 로그 창이 더러워지는걸 감수해야 한다

 

 

 

 

이럴 때 코드 몇 줄 추가하면 전체 진행상황을 진행바로 표시해주는 파이썬 패키지가 있다

 

바로 tqdm 이다

 

https://github.com/tqdm/tqdm

 

tqdm/tqdm

A Fast, Extensible Progress Bar for Python and CLI - tqdm/tqdm

github.com

위 사이트에 들어가면 기본적인 tqdm 사용법이 정리되어 있다.

 

for 구문의 범위를 tqdm 으로 묶어주면 자동으로 상태진행바가 표시가 된다

from tqdm import tqdm

for i in tqdm(range(10000000)):
    pass

 

실행결과

현재 진행상황과 경과시간, 남은 시간, 속도를 표시해준다

 

 

 

만약 이미 작성해둔 코드가 복잡해서 중간에 for 문을 끼워놓기 힘든 경우엔 직접 로그를 업데이트 시키는 방법도 있다.

 

from tqdm import tqdm

progress = tqdm(total=10000000)

for i in range(10000000):
    progress.update(1)

 

실행결과

이미 짜여진 코드에 tqdm 을 적용할 때 편한 방법인 듯 하다

 

 

 

 

상태바 앞에 문자나 숫자를 표시하고 싶을 땐 set_description() 또는 set_description_str() 함수를 사용하면 된다

하지만 반복 횟수가 커질수록 반복문이 훨씬 무거워지니 가벼운 반복문에서만 사용하는것을 추천한다

from tqdm import tqdm

progress = tqdm(total=10000000)
for i in range(10000000):
    progress.update(1)
    progress.set_description_str("Progress status : {}".format(i))

 

 

실행결과

위 예시에서 10초 내외로 끝나던 반복문이 20분을 기다리라고 한다

블로그 이미지

우송송

,