Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggantikan Output Konsol dengan Counter dan Bar Kemajuan dalam Python?

Bagaimana untuk Menggantikan Output Konsol dengan Counter dan Bar Kemajuan dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-11-03 14:51:30145semak imbas

How to Replace Console Output with a Counter and Progress Bar in Python?

Menggantikan Output Konsol dalam Python

Sifat serba boleh Python membolehkan output konsol tersuai disesuaikan dengan keperluan khusus. Satu teknik biasa ialah mencipta pembilang konsol dinamik yang dikemas kini di tempatnya.

Pertanyaan: Menggantikan Output dengan Pembilang

Untuk menggantikan output konsol dengan pembilang kemajuan, gelung boleh diubah suai untuk memaparkan mesej status selepas melakukan setiap lelaran. Tidak seperti output sebelumnya, yang termasuk baris baharu untuk setiap status, kaunter ini akan mengemas kini hanya baris terakhir yang dipaparkan.

Penyelesaian: Menggunakan 'r'

Satu mudah penyelesaian melibatkan memasukkan aksara pengembalian kereta "r" sebelum mesej status baharu dan mengelakkan sebarang aksara baris baharu. Ini memastikan bahawa rentetan tidak menjadi lebih pendek, menjadikannya pendekatan yang berdaya maju jika rentetan dijangka kekal konsisten panjangnya.

Contohnya:

import sys

for i in range(5):
    sys.stdout.write("\rDoing thing %d" % i)
    sys.stdout.flush()

Penyelesaian Dipertingkat : Bar Kemajuan

Untuk paparan kemajuan yang lebih canggih, bar kemajuan boleh dilaksanakan. Kod berikut menyediakan fungsi bar kemajuan mudah:

def start_progress(title):
    sys.stdout.write(title + ": [" + "-" * 40 + "]" + chr(8) * 41)
    sys.stdout.flush()
    progress_x = 0

def progress(x):
    global progress_x
    x = int(x * 40 // 100)
    sys.stdout.write("#" * (x - progress_x))
    sys.stdout.flush()
    progress_x = x

def end_progress():
    sys.stdout.write("#" * (40 - progress_x) + "]\n")
    sys.stdout.flush()

Fungsi start_progress memulakan bar kemajuan dengan penerangan tajuk. progress(x) mengemas kini bar dengan peratusan siap (x). Akhir sekali, end_progress menamatkan paparan kemajuan.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Output Konsol dengan Counter dan Bar Kemajuan dalam 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
Artikel sebelumnya:Ke Django atau ke DjangoREST?Artikel seterusnya:Ke Django atau ke DjangoREST?