ホームページ >バックエンド開発 >Python チュートリアル >Python を使用してターミナルにカスタマイズ可能なテキスト プログレス バーを作成する方法

Python を使用してターミナルにカスタマイズ可能なテキスト プログレス バーを作成する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-06 17:52:13365ブラウズ

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()

Single-Call Version

便宜上、次のコードを使用します。上記のプログレス バーの単一呼び出しバージョンを提供します。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。