首頁 >後端開發 >Python教學 >如何使用 Python 在終端機中建立可自訂的文字進度條?

如何使用 Python 在終端機中建立可自訂的文字進度條?

Barbara Streisand
Barbara Streisand原創
2024-12-06 17:52:13364瀏覽

How to Create a Customizable Text Progress Bar in Your Terminal Using Python?

終端機中帶有區塊字元的文字進度欄

簡介

許多基於終端的應用程式需要一種可視化進度的方法。在本文中,我們將探索如何使用區塊字元在終端機中建立進度條,同時保留先前的輸出。

可自訂進度條

以下程式碼提供了一個可自訂的進度條,可以與任何 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn