Ganti Output Konsol dalam Python
Dalam Python, mengawal output ke konsol boleh menjadi mencabar, terutamanya apabila anda perlu mengemas kini hanya bahagian maklumat yang dipaparkan. Soalan ini membincangkan penyelesaian untuk menggantikan output konsol semasa dengan pembilang kemajuan ringkas.
Pendekatan mudah melibatkan menulis aksara ruang belakang ("r") diikuti dengan rentetan baharu tanpa aksara baris baharu. Dengan melakukan ini, hanya baris terbaharu dalam konsol dikemas kini. Ini ditunjukkan dalam coretan kod di bawah:
<code class="python">sys.stdout.write("\rDoing thing %i" % i) sys.stdout.flush()</code>
Walau bagaimanapun, untuk bar kemajuan yang lebih canggih, anda boleh melaksanakan fungsi tersuai untuk menjejak kemajuan dan memaparkan bar dinamik berdasarkan peratusan kemajuan. Berikut ialah contoh:
<code class="python">def progress(title): global progress_x sys.stdout.write(title + ": [&" + "-" * 40 + "]") + chr(8) * 41 sys.stdout.flush() progress_x = 0 def progress(x): global progress_x progress_x = int(x * 40 // 100) sys.stdout.write("#" * (progress_x - progress_x)) sys.stdout.flush() def stop_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()</code>
Untuk menggunakan fungsi ini, panggil start_progress dengan penerangan operasi, kemajuan dengan peratusan dan akhirnya stop_progress untuk memaparkan bar kemajuan lengkap dalam konsol.
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Output Konsol dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!