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

Bagaimana untuk Membuat Bar Kemajuan Teks dalam Terminal Anda Menggunakan Python?

Mary-Kate Olsen
Lepaskan: 2024-12-02 17:26:12
asal
735 orang telah melayarinya

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

Bar Kemajuan Teks dalam Terminal dengan Aksara Blok

Pengenalan

Mewujudkan bar kemajuan dalam terminal boleh meningkatkan pengalaman pengguna dengan menyediakan visual mewakili kemajuan sesuatu tugasan. Walau bagaimanapun, mengekalkan integriti keluaran konsol sebelumnya semasa mengemas kini bar kemajuan boleh menjadi satu cabaran. Artikel ini meneroka cara membuat bar kemajuan dalam Python sambil mengekalkan teks terdahulu.

Penyelesaian: Fungsi Bar Kemajuan Tersuai

Berikut ialah fungsi bar kemajuan boleh guna semula yang menangani masalah:

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()
Salin selepas log masuk

Fungsi Parameter:

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

Penggunaan:

Untuk menggunakan bar kemajuan, panggil fungsi dalam gelung:

total_items = 100

for item in range(total_items):
    # Do your processing here...
    printProgressBar(item + 1, total_items)
Salin selepas log masuk

Versi Panggilan Tunggal:

Untuk kes penggunaan yang dipermudahkan, pertimbangkan versi panggilan tunggal kemajuan ini 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...
Salin selepas log masuk

Versi ini tidak memerlukan panggilan awal untuk menetapkan bar kemajuan pada 0% dan menerima iterables sebagai input.

Keserasian Python 2:

Untuk Python 2 keserasian, gunakan kod berikut dan bukannya rentetan Python 3 pemformatan:

print('\r%s |%s| %s%% %s' % (prefix, bar, percent, suffix), end=printEnd)
Salin selepas log masuk

Kesimpulan:

Dengan memanfaatkan fungsi yang disediakan, anda boleh dengan mudah menyepadukan bar kemajuan teks ke dalam aplikasi konsol anda sambil mengelakkan pemadaman teks sebelumnya. Parameter yang boleh disesuaikan membenarkan penampilan bar kemajuan yang disesuaikan yang sesuai dengan keperluan khusus anda.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan