Dipecahkan: tulis keluaran konsol di tempat yang sama

Menulis keluaran konsol di tempat yang sama dapat menjadi teknik yang berguna bagi pengembang saat bekerja dengan aplikasi Python, terutama saat mengembangkan antarmuka pengguna di baris perintah, membuat indikator kemajuan, dan memperbarui data konsol secara real-time. Artikel ini akan membahas solusi untuk menimpa keluaran konsol, menjelaskan kode langkah demi langkah, dan mendalami pustaka tertentu dan fungsi bawaan Python yang memungkinkan tugas ini.

Untuk mencapai hal ini, kita dapat menggunakan “kutukan” pustaka Python terkenal yang dirancang khusus untuk membuat aplikasi berbasis terminal yang sangat bergantung pada penggunaan antarmuka pengguna berbasis teks. Namun, demi kesederhanaan dan kemudahan pemahaman, kita akan menggunakan modul “sys” dan “time” bawaan Python untuk menimpa keluaran konsol.

Menimpa Output Konsol dengan Python

Ide utamanya adalah menggunakan sys.stdout.tulis() fungsi, yang memungkinkan kita mencetak dalam baris yang sama, bersama dengan Kereta kembali karakter (“r”) untuk kembali ke awal baris, sehingga secara efektif memungkinkan kita untuk menimpa keluaran.

Berikut ini contoh menimpa keluaran konsol menggunakan Python:

import time
import sys

for i in range(10):
    sys.stdout.write("rStep: %d" % i)
    sys.stdout.flush()
    time.sleep(1)

Penjelasan Kode Langkah-demi-Langkah

1. Pertama, impor modul yang diperlukan:

   import time
   import sys
   

Grafik waktu modul akan digunakan untuk menambahkan penundaan antara iterasi, dan sys modul akan digunakan untuk menulis output ke konsol.

2. Selanjutnya, buat loop untuk melakukan iterasi pada rentang angka, yang menyimulasikan penghitung kemajuan:

   for i in range(10):
   

Perulangan ini diulang dari 0 hingga 9, berjalan sepuluh kali secara efektif.

3. Di dalam loop, gunakan sys.stdout.tulis() berfungsi untuk mencetak nomor iterasi saat ini beserta labelnya:

   sys.stdout.write("rStep: %d" % i)
   

Karakter “r” adalah kereta kembali yang bertindak sebagai reset ke awal baris, memungkinkan keluaran berikutnya menimpa keluaran saat ini.

4. Pastikan menggunakan sys.stdout.flush() setelah menulis ke konsol:

   sys.stdout.flush()
   

Fungsi flush() membersihkan buffer internal dan memastikan bahwa output segera ditampilkan.

5. Terakhir, tambahkan penundaan menggunakan waktu tidur() fungsi:

   time.sleep(1)
   

Jeda ini akan berlangsung selama satu detik, sehingga memudahkan untuk mengamati keluaran yang sedang ditimpa.

Sekarang Anda dapat melihat bagaimana keluaran konsol ditimpa pada setiap iterasi.

Ikhtisar Perpustakaan “sys”.

Grafik sys Library adalah modul Python bawaan yang kuat yang menyediakan akses ke internal penerjemah dan berbagai parameter spesifik sistem. Pada artikel ini, kami fokus pada penggunaan sys.stdout.tulis() dan sys.stdout.flush() berfungsi untuk menimpa keluaran konsol. Namun, perpustakaan “sys” menawarkan banyak fungsi lain, seperti argumen baris perintah, byteorder, pengecualian, dan jalur yang telah ditentukan sebelumnya.

Ikhtisar Perpustakaan “waktu”.

Grafik waktu Library adalah modul Python bawaan lainnya yang menawarkan berbagai fungsi terkait manipulasi dan pemrosesan waktu. Dalam contoh kami, kami menggunakan waktu tidur() berfungsi untuk membuat penundaan antar iterasi. Pustaka “waktu” juga menyediakan alat lain untuk mengukur waktu eksekusi, mengkonversi antar format waktu, dan mendapatkan waktu saat ini. Modul ini penting bagi pengembang yang bekerja dengan fungsi terkait waktu atau menjadwalkan tugas dalam aplikasi Python.

Pos terkait:

Tinggalkan Komentar