터미널에 진행률 표시줄을 만들면 시각적인 내용을 제공하여 사용자 경험을 크게 향상시킬 수 있습니다. 작업 진행 상황을 나타냅니다. 그러나 진행률 표시줄을 업데이트하는 동안 이전 콘솔 출력의 무결성을 유지하는 것은 어려울 수 있습니다. 이 문서에서는 이전 텍스트를 유지하면서 Python에서 진행률 표시줄을 만드는 방법을 살펴봅니다.
다음은 문제를 해결하는 재사용 가능한 진행률 표시줄 기능입니다.
def printProgressBar(iteration, total, prefix='', suffix='', decimals=1, length=100, fill='█', printEnd='\r'): percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total))) filledLength = int(length * iteration // total) bar = fill * filledLength + '-' * (length - filledLength) print(f'\r{prefix} |{bar}| {percent}% {suffix}', end=printEnd) if iteration == total: print()
Parameter | Description |
---|---|
iteration | Current iteration of the loop |
total | Total number of iterations |
prefix | Prefix text before the progress bar |
suffix | Suffix text after the progress bar |
decimals | Number of decimal places for percentage |
length | Width of the progress bar |
fill | Character used to fill the progress bar |
printEnd | End of line character (e.g., 'r') |
진행률 표시줄을 사용하려면 루프 내에서 함수를 호출하세요.
total_items = 100 for item in range(total_items): # Do your processing here... printProgressBar(item + 1, total_items)
간단한 사용 사례의 경우 진행 상황의 단일 호출 버전을 고려하세요. bar:
def progressBar(iterable, prefix='', suffix='', decimals=1, length=100, fill='█', printEnd='\r'): total = len(iterable) def printProgressBar(iteration): percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total))) filledLength = int(length * iteration // total) bar = fill * filledLength + '-' * (length - filledLength) print(f'\r{prefix} |{bar}| {percent}% {suffix}', end=printEnd) printProgressBar(0) for i, item in enumerate(iterable): yield item printProgressBar(i + 1) print() for item in progressBar(range(100)): # Do your processing here...
이 버전에서는 진행률 표시줄을 0%로 설정하기 위한 초기 호출이 필요하지 않으며 반복 가능 항목을 입력으로 허용합니다.
Python 2의 경우 호환성이 있는 경우 Python 3 문자열 대신 다음 코드를 사용하세요. 형식 지정:
print('\r%s |%s| %s%% %s' % (prefix, bar, percent, suffix), end=printEnd)
제공된 기능을 활용하면 이전 텍스트가 지워지는 것을 방지하면서 텍스트 진행률 표시줄을 콘솔 애플리케이션에 쉽게 통합할 수 있습니다. 사용자 정의 가능한 매개변수를 사용하면 특정 요구 사항에 맞는 맞춤형 진행 표시줄 모양을 만들 수 있습니다.
위 내용은 Python을 사용하여 터미널에 텍스트 진행률 표시줄을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!