다음과 같은 코드가 있다고 하자.
from time import sleep for i in range(1, 600): sleep(0.1) # 무언가 시간이 많이 소요되는 연산군
for 문 안에 시간이 많이 소요되는 코드가 있을 때 얼마만큼 진행되는지에 대한 피드백을 사용자에게 주지 못하면 사용자는 아마도 ^C를 누르거나 ^@Del을 눌러 프로세스를 강제 종료할지도 모른다. 이럴때 사용자에게 피드백을 줄 필요가 있는데 이때 매우 간단하고 효과적으로 진행상황을 피드백으로 제공할 수 있는 tqdm 라이브러리가 있다.
사용은 다음처럼 for 문의 in 구문을 tqdm으로 감싸기만 하면 끝.
from tqdm import tqdm from time import sleep for i in tqdm(range(1, 600)): sleep(0.1) # 무언가 시간이 많이 소요되는 연산군
그러면 아래처럼 진행상황에 대한 정보가 효과적으로 시각화된다.
위의 진행상태에 대한 정보에서 43%는 진행률, 257/599는 전체 599번 중 현재 257번째 작업 수행중, 00:27<00:36은 전체 작업 완료까지 남은 시간은 36초이며 현재 27초 경과되었다는 것, 9.35it/s는 1초당 평균 9.35번의 반복을 수행했다는 것에 대한 정보다. 참고로 tqdm은 아랍어로 Progress라는 의미(taqadum, تقدّم)라고 한다.