tqdm

GreenBean·2022년 2월 21일
1
post-thumbnail

tqdm

파이썬 반복문 어디까지 진행되었는지 표시하기: tqdm 라이브러리
파이썬 프로그레스바(Progress Bar) tqdm 사용 방법: nested progress bar

tqdm란?

  • 파이썬에는 tqdm 라이브러리가 있음
    • 이 라이브러리를 이용하면 진행 상황을 Progress Bar 형태로 한눈에 확인할 수 있음
  • 반복문을 돌리면 작업이 어디까지 진행된 건지, 되고는 있는 건지 궁금할 때가 많음
    • 주피터 노트북 화면을 바라보며 반복문을 돌린 셀의 별표가 사라지길 계속 기다리기도 조금 답답
    • 이럴 때 진행 상황을 확인하는 가장 쉬운 방법은 반복문 중간에 print 찍도록 코드를 작성하는 것
    • 하지만 이 방법은 직관적으로 한눈에 진행 상황을 파악하기에는 무리가 있음

tqdm 사용법

tqdm 라이브러리 설치

  • Jupyter NoteBook을 열고 빈 셀에 다음의 설치 코드를 입력하고 실행시키면 됨
    • !pip install tqdm
  • 이미 설치 되어있다면 최신 버전으로 업그레이드를 할 수 있음
    • !pip install tqdm --upgrade

기본 사용법

  • 반복 가능한 (iterable) 대상이라면 어느 것이든 tqdm 함수 넣고 실행하면 됨
import time
from tqdm import tqdm

for i in tqdm(range(10)):
    time.sleep(0.1)
  • 리스트도 가능
    • desc를 이용하여 설명을 추가할 수도 있음
empty_list = []
for word in tqdm(['apple', 'ball', 'cat', 'doll', 'egg'], desc='iterate list'):
    time.sleep(0.1)
    empty_list.append(word)
  • 반복문 밖에서 별도의 tqdm 인스턴스를 만들어서 실행시킬 수도 있음
pbar = tqdm(['apple', 'ball', 'cat', 'doll', 'egg'])
for word in pbar :
    time.sleep(0.1)
    pbar.set_description(f'Processing {word}')
    empty_list.append(word)

중첩된 반복문에서 사용하기

  • 중첩된 (nested) 반복문에서도 사용 가능
for i in tqdm(range(2), desc='첫 번째 반복문'):
    for j in tqdm(range(3), desc='두 번째 반복문'):
        time.sleep(0.1)
profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 댓글