許多基於終端的應用程式需要一種可視化進度的方法。在本文中,我們將探索如何使用區塊字元在終端機中建立進度條,同時保留先前的輸出。
以下程式碼提供了一個可自訂的進度條,可以與任何 Python 3應用程式一起使用:
def printProgressBar(iteration, total, prefix='', suffix='', decimals=1, length=100, fill='█', printEnd='\r'): percent = ("{0:.{0}f}".format(decimals)).format(100 * (iteration / float(total))) filledLength = int(length * iteration // total) bar = fill * filledLength + '-' * (length - filledLength) print(f'\r{prefix} |{bar}| {percent}% {suffix}', end=printEnd) # Print new line on completion if iteration == total: print()
為了方便起見,以下程式碼提供了上述進度條的單次呼叫版本:
def progressBar(iterable, prefix='', suffix='', decimals=1, length=100, fill='█', printEnd='\r'): total = len(iterable) # Progress bar printing function def printProgressBar(iteration): percent = ("{0:.{0}f}".format(decimals)).format(100 * (iteration / float(total))) filledLength = int(length * iteration // total) bar = fill * filledLength + '-' * (length - filledLength) print(f'\r{prefix} |{bar}| {percent}% {suffix}', end=printEnd) # Initial call printProgressBar(0) # Update progress bar for i, item in enumerate(iterable): yield item printProgressBar(i + 1) # Print new line on completion print()
以下程式碼顯示如何使用進度條:
import time # List of items items = list(range(0, 57)) # Progress bar usage for item in progressBar(items, prefix='Progress:', suffix='Complete', length=50): # Do stuff... time.sleep(0.1)
這些程式碼片段提供了一個多功能且易於使用的進度條解決方案,可以增強任何基於終端的使用者體驗申請。
以上是如何使用 Python 在終端機中建立可自訂的文字進度條?的詳細內容。更多資訊請關注PHP中文網其他相關文章!