ターミナルに進行状況バーを作成すると、視覚的な表示を提供することでユーザー エクスペリエンスを大幅に向上させることができます。タスクの進行状況を表現します。ただし、進行状況バーを更新しながら以前のコンソール出力の整合性を維持するのは困難な場合があります。この記事では、前のテキストを保持しながら 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 中国語 Web サイトの他の関連記事を参照してください。