벤자민의 블로그 2기 시작
2023년 6월 13일 갑작스러운 부친상을 격고나서 무언가를 한다라는 것에서 거의 손을 대지 않고 있었네요. 슬프다거나 그런 감정보다는 그냥 무언가 빠져버린
두번째 입니다. 작성중입니다.
천천히 사용법을 익히다보니 시간이 걸리네요. 혼자서 하는거라 앞으로도 빠르지는 않을 것 같습니다. 작성중인 문서를 포스팅하는 것은 지금 설치한 고스트의 프리뷰 기능이 제대로 되지를 않아서 그냥 포스팅을 하면서 문서를 수정하고 있습니다.
계속해서 tqdm을 사용해보고 있습니다. 대단한 기능이 있다고 생각되지는 않지만 리눅스에서 패키지를 설치할때 텍스트상에서도 프로그레스바가 나오는 것이 인상적이어서 몇번은 더 써보고 싶은 라이브러리네요. 코딩을 하다보면 자주 사용하는 함수나 명령어라도 사용법을 확인할 필요가 있습니다. 이전에 델파이를 사용할때에도 자주 사용했던 기능이라 해당 기능이 있을까 했는데 파이참에도 이 기능이 있네요. 알고싶은 함수(function
)에 마우스 커서를 가져다 놓고 ctrl
키와 함께 좌클릭을 해줍니다. 그러면 아래 그림과 같이 해당 함수('function')의 정의 부분이 나옵니다.
그런데 해당 소스를 직접 수정할게 아니라면 조금 더 간편한 방법이 있네요. 물론 다른 툴에도 있는 기능들입니다.
알고싶은 함수(function
)에 마우스 커서를 가져다 놓고 ctrl+q
를 눌러줍니다. 그러면 아래와 같이 풍선도움말이 나옵니다.
그런데 이 경우도 조금 불편하다 싶으면 해당 도움말이 보이는 상태에서 ctrl+q
를 한번 더 눌러줍니다. 그러면 아래와 같이 우측에 해당 내용이 출력됩니다.
파라메터와 파라메터에 대한 설명이 같이 보입니다.
tqdm
의 파라메터와 그 설명입니다.
tqdm.std.tqdm def __init__(self,
iterable: Any = None,
desc: Any = None,
total: Any = None,
leave: Any = True,
file: Any = None,
ncols: Any = None,
mininterval: Any = 0.1,
maxinterval: Any = 10.0,
miniters: Any = None,
ascii: Any = None,
disable: Any = False,
unit: Any = 'it',
unit_scale: Any = False,
dynamic_ncols: Any = False,
smoothing: Any = 0.3,
bar_format: Any = None,
initial: Any = 0,
position: Any = None,
postfix: Any = None,
unit_divisor: Any = 1000,
write_bytes: Any = False,
lock_args: Any = None,
nrows: Any = None,
colour: Any = None,
delay: Any = 0,
gui: Any = False,
**kwargs: Any) -> Any
iterable – 진행률 표시줄로 장식하는 반복 가능. 업데이트를 수동으로 관리하려면 공백으로 두십시오.
desc – 진행률 표시줄의 접두사입니다. 프로그레스바 앞에 텍스트를 출력합니다.
total – 예상되는 반복 횟수입니다. 지정하지 않으면 가능한len(iterable)이 사용됩니다. float("inf")인 경우 또는 최후의 수단으로 기본 진행률 통계만 표시됩니다(ETA 없음, 진행률 표시줄 없음). gui가 True이고 이 매개변수가 후속 업데이트가 필요한 경우 초기 임의의 큰 양수를 지정합니다.
leave – [기본값: True]인 경우 반복 종료 시 진행률 표시줄의 모든 추적을 유지합니다. None이면 위치가 0인 경우에만 떠납니다.
file – 진행률 메시지를 출력할 위치를 지정합니다(기본값: sys.stderr). file.write(str) 및 file.flush() 메서드를 사용합니다. 인코딩에 대해서는 write_bytes를 참조하십시오.
ncols – 전체 출력 메시지의 너비입니다. 지정된 경우 이 범위 내에 있도록 진행률 표시줄의 크기를 동적으로 조정합니다. 지정하지 않으면 환경 너비를 사용하려고 시도합니다. 폴백은 미터 너비 10이며 카운터 및 통계에 대한 제한이 없습니다. 0이면 미터를 인쇄하지 않습니다(통계만).
mininterval – 최소 진행률 표시 업데이트 간격[기본값: 0.1]초.
maxinterval – 최대 진행률 표시 업데이트 간격[기본값: 10]초. 긴 디스플레이 업데이트 지연 후 최소 간격에 해당하도록 미니터를 자동으로 조정합니다. dynamic_miniters 또는 모니터 스레드가 활성화된 경우에만 작동합니다.
miniters – 최소 진행률 표시 업데이트 간격(반복). 0 및 dynamic_miniters인 경우 동일한 mininterval로 자동 조정됩니다(CPU 효율이 더 높고 타이트한 루프에 적합). >0 인 경우 지정된 반복 횟수 표시를 건너뜁니다. 매우 효율적인 루프를 얻으려면 이것과 최소 간격을 조정하십시오. 빠른 반복과 느린 반복(네트워크, 항목 건너뛰기 등)으로 진행 상황이 불규칙한 경우 miniters=1로 설정해야 합니다.
ascii – 지정되지 않았거나 False인 경우 유니코드(부드러운 블록)를 사용하여 미터를 채웁니다. 폴백은 ASCII 문자 "123456789#"를 사용하는 것입니다.
disable – 전체 진행률 표시줄 래퍼를 비활성화할지 여부[기본값: False]. None으로 설정하면 TTY가 아닌 경우 비활성화합니다.
unit – 각 반복의 단위를 정의하는 데 사용할 문자열 [기본값: it].
unit_scale – 1 또는 True인 경우 반복 횟수가 자동으로 축소/확대되고 국제 단위계 표준을 따르는 메트릭 접두어가 추가됩니다(킬로, 메가 등)[기본값: False]. 0이 아닌 다른 숫자가 있으면 합계와 n을 조정합니다.
dynamic_ncols – 설정된 경우 ncols 및 nrows를 환경에 맞게 지속적으로 변경합니다(창 크기 조정 허용)[기본값: False].
smoothing – 속도 추정을 위한 지수 이동 평균 평활 계수(GUI 모드에서는 무시됨). 범위는 0(평균 속도)에서 1(현재/순간 속도)까지입니다[기본값: 0.3].
bar_format – 사용자 지정 막대 문자열 형식을 지정합니다. 성능에 영향을 줄 수 있습니다. [기본값: '{l_bar}{bar}{r_bar}'], where l_bar='{desc}: {percentage:3.0f}%|' 그리고 r_bar='| {n_fmt}/{total_fmt} [{elapsed}<{remaining},' '{rate_fmt}{postfix}]'
가능한 변수: l_bar, bar, r_bar, n, n_fmt, total, total_fmt, 백분율, 경과, elapsed_s, ncols, nrows, desc, 단위, 속도, rate_fmt, rate_noinv, rate_noinv_fmt, rate_inv, rate_inv_fmt, 접미사, unit_divisor, 남은, 잔여_s, 에타.{desc}가 비어 있으면 후행 ":"이 자동으로 제거됩니다.
initial – 초기 카운터 값입니다. 진행률 표시줄을 다시 시작할 때 유용합니다[기본값: 0]. float를 사용하는 경우 bar_format에서 {n:.3f} 또는 유사 항목을 지정하거나 unit_scale을 지정하는 것이 좋습니다.
position – 이 막대를 인쇄할 라인 오프셋을 지정합니다(0부터 시작) 지정하지 않으면 자동입니다. 한 번에 여러 막대를 관리하는 데 유용합니다(예: 스레드에서).
postfix – 막대 끝에 표시할 추가 통계를 지정합니다. 가능한 경우 set_postfix(**postfix)를 호출합니다(dict).
unit_divisor– [기본값: 1000], unit_scale이 True가 아니면 무시됩니다.
write_bytes – 바이트 쓰기 여부. If(기본값: False)는 유니코드를 작성합니다.
lock_args – 중간 출력(초기화, 반복 및 업데이트)을 위한 새로 고침에 전달됩니다.
nrows – 화면 높이. 지정된 경우 이 경계 외부에 중첩된 막대를 숨깁니다. 지정하지 않으면 환경 높이를 사용하려고 시도합니다. 대체는 20입니다.
color – 막대 색상(예: '녹색', '#00ff00').
delay – [기본값: 0]초가 경과할 때까지 표시하지 않습니다.
gui – 경고: 내부 매개변수 - 사용하지 마십시오. 대신 tqdm.gui.tqdm(...)을 사용하십시오. 설정하면 그래픽 출력에 matplotlib 애니메이션을 사용하려고 시도합니다[기본값: False].
프로그레스바를 수동으로 업데이트 하는 경우
update - 전체 진행도를 알고, 진행된만큼 진행바를 표시할 경우 update 에 진행도를 파라메터로 추가할 수 있다.
clear() - 화면 삭제
refresh()- 강제로 화면을 갱신합니다.
prog = tqdm(total=500, initial=200, ascii=True)
for i in range(200):
time.sleep(0.1)
prog.update( 400/200 )
prog.close()