Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencipta Bar Kemajuan Teks Boleh Disesuaikan dalam Terminal Anda Menggunakan Python?

Bagaimana untuk Mencipta Bar Kemajuan Teks Boleh Disesuaikan dalam Terminal Anda Menggunakan Python?

Barbara Streisand
Barbara Streisandasal
2024-12-06 17:52:13369semak imbas

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

Bar Kemajuan Teks dalam Terminal dengan Aksara Blok

Pengenalan

Banyak aplikasi berasaskan terminal memerlukan cara untuk menggambarkan kemajuan. Dalam artikel ini, kami akan meneroka cara mencipta bar kemajuan dalam terminal menggunakan aksara blok sambil mengekalkan output terdahulu.

Bar Kemajuan Boleh Disesuaikan

Kod berikut menyediakan bar kemajuan boleh disesuaikan yang boleh digunakan dengan mana-mana aplikasi 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()

Versi Panggilan Tunggal

Untuk kemudahan, kod berikut menyediakan versi panggilan tunggal bar kemajuan di atas:

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

Penggunaan

Kod berikut menunjukkan cara menggunakan bar kemajuan:

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)

Kesimpulan

Coretan kod ini menyediakan penyelesaian bar kemajuan yang serba boleh dan mudah digunakan yang boleh meningkatkan pengalaman pengguna mana-mana berasaskan terminal permohonan.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Bar Kemajuan Teks Boleh Disesuaikan dalam Terminal Anda Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn