반응형
progressbar_tqdm

진행상황 tqdm

패키지 설치를 할 때 보면 나오는 텍스트 타입의 진행바 모양이 있다. 작업이 어느 정도 진행되었고 남았는지 알 수 있어서 없는 것보다는 답답함이 해결되는 효과가 있다.

이것을 구현하기 위해서는 tqdm 패키지를 사용하면 된다. tqdm의 파라미터로 iterable 객체를 넣어주면 알아서 전체 반복 횟수 중 진행반복횟수를 표시해 준다.

from tqdm import tqdm
import time
for i in tqdm(range(100)):
   time.sleep(0.01)

콘솔 출력문을 추가했을 경우 아래와 같이 된다. (없으면 한 줄로 업데이트 진행됨)
progress1

  • range(30, 100) 으로 파라미터를 줄 경우, 전체 반복량은 70이므로 0/70부터 시작하여 70/70까지 진행 표시된다.

progress2

파라미터 설명

  • iterable : 반복자 객체
  • desc : 진행바 앞에 텍스트 출력
  • total : int, 전체 반복량
  • leave : bool, default로 True. (진행상태 잔상이 남음)
  • ncols : 진행바 컬럼길이. width 값으로 pixel 단위로 보임.
  • mininterval, maxinterval : 업데이트 주기. 기본은 mininterval=0.1 sec, maxinterval=10 sec
  • miniters : Minimum progress display update interval, in iterations.
  • ascii : True로 하면 '#'문자로 진행바가 표시됨.
  • initial : 진행 시작값. 기본은 0
  • bar_format : str
  • 전체 작업량을 알고 있고, 처리된 량으로 진행바를 표시할 경우. (update에 진행량을 파라미터로 추가). 파일 읽기 같은 경우 활용가능하다.
t = tqdm(total=500)
for i in range(250):
    time.sleep(0.01)
    t.update( 2 )
t.close()
  • clear() : 삭제

  • refresh() : 강제 갱신

  • 중간부터 진행되는 경우. 전체 작업량이 500인데, 100은 이밎 처리되서 100부터 시작하는 경우.

t = tqdm(total=500, initial=100, ascii=True)
for i in range(200):
    time.sleep(0.01)
    t.update( 400/200 )
t.close()

Written with StackEdit.

'Python' 카테고리의 다른 글

JupyterLab에서 Python Script(.py)실행하기  (0) 2019.09.19
Jupyter Notebook 멀티라인출력  (0) 2019.09.19
Google Drive file upload/download  (0) 2019.08.20
Fourier Transform Python  (1) 2019.08.02
[UI] Qt5  (0) 2019.05.17

+ Recent posts