독학

[파이썬] cmd 커맨드창 progress bar 생성하기 tqdm

JC story 2022. 9. 16. 23:31
반응형

안녕하세요 종백이입니다😎

 

프로그래밍을 하다 보면 for문을 자주 사용하게 되는데 빅데이터를 다루거나 for문 안에 함수가 있는 경우에는 for문이 오래 돌아가게 됩니다!

 

따라서 현재 진행 상황이 어느 정도 되는지 궁금할 때가 많은데요!

 

보통 많은 사람들은 print를 통해 진행 상태를 표시했습니다. print에 end="\r"를 사용해서 한 줄 출력하고 지우고 출력하고 지우고 이런 방식으로 enumerate를 통해 for문을 돌리고 index를 전체 list의 길이를 나누어 출력하여 현재 진행상태를 파악했습니다.

a = range(0,20)
for idx, x in enumerate(a):
	print(f"{idx/len(a)*100}%", end = "\r")

이렇게 하면 현재 상태를 출력할 수 있는데요! 여기서 더 간단하고 시각적으로 progress bar도 생성시키는 아주 간단한 모듈 하나를 소개하겠습니다!

 

바로 두구둑두굳구둑둑두구........

 

tqdm

 

tqdm 사용법은 간단합니다. 우선 pip install tqdm을 통해 다운을 받습니다! 그리고 아래와 같이 사용하시면 됩니다 ㅎㅎ

from tqdm import tqdm
import time

a = range(0,20)
for x in tqdm(a):
	time.sleep(1)

위와 같이 넣고 실행하면 아래 이미지와 같은 progress bar 가 생성됩니다.

tqdm
tqdm progress bar

enumerate와 같이 사용도 가능합니다!

from tqdm import tqdm
import time

a = range(0,20)
for idx, x in enumerate(tqdm(a)):
	time.sleep(1)

tqdm을 enumerate로 감싸 주시면 됩니다. 하지만 중간에 print 출력이 껴있으면 progress bar는 제자리에 있고 그 아래로 출력되는 것이 아닌 아래 이미지와 같이 아래로 쭉 출력됩니다. \r 기능을 통해 만들어진 것 같네요!

tqdm주의점
tqdm 주의할 점

이렇게 아주 쉽게 python에서 progress bar를 이용하실 수 있습니다!

 

내용이 도움이 되셨다면 좋아요 부탁드립니다^^

반응형