May 21, 2023

Pycharm Study 002

Pycharm Study 002

두번째 입니다. 작성중입니다.
천천히 사용법을 익히다보니 시간이 걸리네요. 혼자서 하는거라 앞으로도 빠르지는 않을 것 같습니다. 작성중인 문서를 포스팅하는 것은 지금 설치한 고스트의 프리뷰 기능이 제대로 되지를 않아서 그냥 포스팅을 하면서 문서를 수정하고 있습니다.


Pycharm의 코딩 지원 기능 1

Viewing Inline Documentation

계속해서 tqdm을 사용해보고 있습니다. 대단한 기능이 있다고 생각되지는 않지만 리눅스에서 패키지를 설치할때 텍스트상에서도 프로그레스바가 나오는 것이 인상적이어서 몇번은 더 써보고 싶은 라이브러리네요. 코딩을 하다보면 자주 사용하는 함수나 명령어라도 사용법을 확인할 필요가 있습니다. 이전에 델파이를 사용할때에도 자주 사용했던 기능이라 해당 기능이 있을까 했는데 파이참에도 이 기능이 있네요. 알고싶은 함수(function)에 마우스 커서를 가져다 놓고 ctrl키와 함께 좌클릭을 해줍니다. 그러면 아래 그림과 같이 해당 함수('function')의 정의 부분이 나옵니다.

help_doc_001

그런데 해당 소스를 직접 수정할게 아니라면 조금 더 간편한 방법이 있네요. 물론 다른 툴에도 있는 기능들입니다.

알고싶은 함수(function)에 마우스 커서를 가져다 놓고 ctrl+q를 눌러줍니다. 그러면 아래와 같이 풍선도움말이 나옵니다.

help_doc_002

그런데 이 경우도 조금 불편하다 싶으면 해당 도움말이 보이는 상태에서 ctrl+q를 한번 더 눌러줍니다. 그러면 아래와 같이 우측에 해당 내용이 출력됩니다.

help_doc_003

파라메터와 파라메터에 대한 설명이 같이 보입니다.

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()