Mengatasi Output Konsol dalam Python
Dalam pengaturcaraan, selalunya wajar untuk memaparkan maklumat kemajuan kepada pengguna semasa melaksanakan tugas yang memakan masa. Satu teknik yang popular ialah mengemas kini bar kemajuan atau kaunter dalam konsol. Artikel ini meneroka cara untuk mencapai ini dalam Python.
Menggantikan Output Konsol
Pendekatan mudah untuk menggantikan output konsol ialah menggunakan jujukan melarikan diri "r", yang mengembalikan kursor ke permulaan baris semasa. Dengan menulis "r" sebelum rentetan yang dikemas kini dan meninggalkan baris baharu, anda boleh menimpa output sebelumnya dengan berkesan.
<code class="python">import sys for i in range(10): sys.stdout.write("\rDoing thing %i" % i) sys.stdout.flush()</code>
Ini akan terus menulis ganti konsol dengan lelaran terkini dalam gelung.
Bar Kemajuan
Untuk penunjuk kemajuan yang lebih maju, anda boleh menggunakan fungsi berikut:
<code class="python">def start_progress(title): sys.stdout.write(title + ": [" + "-" * 40 + "]") sys.stdout.flush() def progress(x): x = int(x * 40 // 100) sys.stdout.write("#" * (x - progress_x)) sys.stdout.flush() def end_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()</code>
Fungsi ini mengambil tajuk sebagai input dan memaparkan bar kemajuan dalam konsol. Fungsi kemajuan mengemas kini peratusan kemajuan, manakala fungsi end_progress melengkapkan bar kemajuan.
Jujukan Panggilan
Untuk menggunakan bar kemajuan, panggil start_progress untuk memulakannya, kemudian panggil kemajuan beberapa kali untuk mengemas kini peratusan. Akhir sekali, panggil end_progress untuk melengkapkan bar kemajuan.
<code class="python">start_progress("My Long Task") progress(50) progress(75) end_progress()</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengganti Output Konsol dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!