Python CLI에서 진행률 표시줄 만들기

Python CLI에서 진행률 표시줄 만들기

파일을 다운로드하거나 게임을 시작할 때마다 완료될 때까지 자체적으로 업데이트되는 미적 애니메이션이 표시됩니다. 진행률 표시줄입니다. 진행률 표시줄은 파일 다운로드, 업로드 또는 전송과 같은 작업의 진행 상황을 시각화하는 데 사용되는 그래픽 요소입니다.





진행률 표시줄에는 확정 및 미정의 두 가지 유형이 있습니다. 확정 진행률 표시줄은 시간 경과에 따른 작업 진행률을 추적합니다. 불확실한 진행률 표시줄은 반복되는 애니메이션과 함께 무한히 실행됩니다.





MAKEUSEOF 오늘의 비디오

그렇다면 Python CLI 프로그램에서 확정 진행률 표시줄을 어떻게 만들 수 있습니까?





tqdm 모듈이란 무엇입니까?

tqdm은 주로 Casper da Costa-Luis가 10명의 다른 구성원과 함께 유지 관리하는 모듈입니다. tqdm은 '진행'을 의미할 수 있는 아랍어 taqaddum에서 파생되었으며 스페인어(te quiero demasiado)로 'I love you so much'의 약어입니다.

tqdm 모듈을 사용하면 터미널에서 바로 매력적이고 기능적인 진행률 표시줄을 만들 수 있습니다. tqdm 모듈을 설치하려면 터미널을 열고 다음을 실행하십시오.



pip install tqdm

시간 모듈이란 무엇입니까?

Python의 표준 유틸리티 모듈에는 다음이 포함됩니다. 시간 모듈 기본적으로 설치하지 않아도 됩니다. 시간 모듈에서 제공되는 절전 기능을 사용하여 막대의 진행 상황을 시각화하는 데 도움이 되는 지연을 애플리케이션에 추가할 수 있습니다.

시간 모듈을 사용하여 날짜와 시간을 가져오고, 작업을 예약하고, 다음과 같은 유용한 응용 프로그램을 빌드할 수 있습니다. 간단한 알람 시계 , 또는 스톱워치.





진행률 표시줄을 추가하고 사용자 지정하는 방법

기본 진행률 표시줄은 사용하기 쉽고 여러 옵션으로 사용자 지정할 수 있습니다.

1. 단순 진행률 표시줄

tqdm 모듈에서 tqdm 클래스를 가져오고 time 모듈에서 sleep 함수를 가져와 간단한 진행률 표시줄을 만들 수 있습니다. for 루프를 사용하고 원하는 범위에서 tqdm을 반복합니다.





범위는 최대 9e9(90억)일 수 있습니다. 작업 진행률 표시줄을 시각화하고 볼 수 있도록 대기 시간을 초 단위로 전달하여 지연을 추가합니다.

다음과 같이 간단한 진행률 표시줄을 구현할 수 있습니다.

from tqdm import tqdm 
from time import sleep

for i in tqdm(range(100)):
sleep(.1)

tqdm을 가져오는 대신 tqdm 모듈에서 trange를 가져와서 tqdm과 range를 결합하고 매개변수를 직접 전달할 수 있습니다.

from tqdm import trange 
from time import sleep

for i in trange(100):
sleep(.1)

간단한 진행률 표시줄을 만들 때 얻은 출력은 다음과 같습니다.

  단순 진행률 표시줄

이 출력에는 타이밍 통계와 함께 진행 상황의 그래픽 및 텍스트 버전이 포함됩니다.

5 최고의 무료 영화 스트리밍 사이트

2. 설명 텍스트가 있는 진행률 표시줄

진행률 표시줄에 설명 레이블을 추가하여 목적을 설명할 수 있습니다. 큰 따옴표로 묶인 표시하려는 텍스트를 다음으로 전달하십시오. 설명 매개변수:

for i in tqdm(range(0, 10), desc ="Progress: "): 
sleep(.4)

진행률 표시줄과 함께 설명 텍스트를 추가할 때 얻은 출력은 다음과 같습니다.

  텍스트가 있는 진행률 표시줄

3. 맞춤형 너비의 진행률 표시줄

기본적으로 진행률 표시줄의 너비는 출력 창의 크기에 따라 동적으로 설정됩니다. 의 도움으로 원하는 대로 사용자 정의할 수 있습니다. ncols 매개변수.

다음과 같이 사용자 정의 너비로 진행률 표시줄을 구현할 수 있습니다.

for i in tqdm(range(0, 10), ncols = 100, desc ="Progress: "): 
sleep(.1)

진행률 표시줄의 너비를 늘릴 때 얻은 출력은 다음과 같습니다.

  설명 및 ncol이 있는 진행률 표시줄

4. 색상을 사용한 진행률 표시줄

color 매개변수를 사용하여 진행률 표시줄의 색상을 사용자 정의할 수 있습니다. 다음 두 가지 방법으로 이 작업을 수행할 수 있습니다.

  1. 색상 이름: 녹색, 검정색, 청록색 등의 색상 이름을 사용할 수 있습니다.
  2. 16진수 코드: 16진수 코드는 형식입니다. 컴퓨터가 색상을 저장하는 곳. 16진수 색상은 해시(#) 다음에 6자리의 16진수(0-9, a-f)로 표시할 수 있습니다. 16진수 코드 #000000은 검은색을 나타내고 #ffffff는 흰색을 나타냅니다. 이 숫자의 강도를 변경하여 다양한 색상 음영을 얻을 수 있습니다. 당신은 사용할 수 있습니다 Google의 색상 선택 도구 16진수 코드 색상을 선택하여 붙여넣습니다.

다음과 같이 사용자 정의 색상으로 진행률 표시줄을 구현할 수 있습니다.

for i in tqdm(range(0, 100), colour="#00ffff", desc ="Progress: "): 
sleep(.1)

진행률 표시줄의 색상을 변경할 때 얻는 출력:

  색상이 있는 진행률 표시줄

5. 최소 간격의 진행률 표시줄

기본 설정 대신 최소 간격으로 업데이트되는 진행률 표시줄을 만들 수 있습니다. 두 업데이트 사이의 간격으로 사용되는 1.5 또는 2와 같은 숫자를 전달할 수 있습니다. 최소 간격의 기본값은 0.1입니다.

다음과 같이 최소 간격으로 진행률 표시줄을 구현할 수 있습니다.

for i in tqdm(range(0, 100), mininterval = 2, desc ="Progress: "): 
sleep(.1)

진행률 표시줄에 최소 간격을 지정하여 얻은 출력:

  최소 간격이 있는 진행률 표시줄

6. ASCII 문자를 사용한 진행률 표시줄

화면에 표시되는 일반적인 표시줄 대신 ASCII 문자를 사용하여 진행률 표시줄을 만들 수 있습니다. ASCII 문자를 사용하려면 아스키 매개변수를 원하는 형식으로 변경합니다.

다음과 같은 것을 사용한다면 12345* , 범위의 각 열은 1에서 별표까지 순차적으로 반복됩니다. 멋지고 사용자 정의가 가능하지만 실제 응용 프로그램에서 사용할 때는 사용자 친화적으로 사용해야 합니다.

다음과 같이 ASCII 문자를 사용하여 진행률 표시줄을 구현할 수 있습니다.

for i in tqdm(range(0, 100), ascii ="12345*"): 
sleep(.1)

진행률 표시줄에서 ASCII 문자를 사용하여 얻은 출력은 다음과 같습니다.

  ASCII 문자가 있는 진행률 표시줄

7. 지정된 시작점을 사용하는 진행률 표시줄

진행률 표시줄을 0에서 시작하는 대신 진행률 표시줄의 특정 시작점을 설정할 수 있습니다. 50과 같은 시작 값을 초기의 매개변수.

다음과 같이 특정 시작점을 사용하여 진행률 표시줄을 구현할 수 있습니다.

Facebook 계정이 해킹되었는지 확인하는 방법
for i in tqdm(range(0, 100), initial = 50, desc ="Progress: "): 
sleep(.1)

지정된 지점에서 진행률 표시줄을 시작할 때 얻는 출력:

  초기 매개변수가 있는 진행률 표시줄

8. 반복 횟수가 지정된 진행률 표시줄

특정 반복 횟수를 실행하는 진행률 표시줄을 만들 수 있습니다. 50000회 중 500회 반복을 실행하려면 500을 범위로 전달하고 50000을 총 반복 횟수로 전달하십시오. 매개변수.

다음과 같이 특정 반복 횟수를 사용하여 진행률 표시줄을 구현할 수 있습니다.

for i in tqdm(range(0, 500), total = 50000, desc ="Progress: "): 
sleep(.1)

지정된 반복 횟수로 진행률 표시줄을 사용하여 얻은 출력:

  반복 횟수가 지정된 진행률 표시줄

진행률 표시줄의 응용

미디어 플레이어 재생 또는 온라인 양식을 통한 단계 표시와 같은 다양한 상황에서 진행률 표시줄이 표시됩니다.

진행률 표시줄은 미학적으로 보이지만 사용자가 웹사이트를 떠나지 않을 경우 사용자에게 피드백을 제공하는 중요한 역할을 합니다.