Persistent Terminal Output dengan Python
Dalam Python, terdapat isu di mana output cetakan mungkin tidak muncul serta-merta dalam terminal jika tiada baris baharu hadir. Ini berlaku disebabkan penimbalan output, di mana output disimpan sementara untuk meningkatkan prestasi.
Apa Yang Berlaku?
Secara lalai, terminal membahagikan output kepada baris. Jika baris berakhir tanpa aksara baris baharu, output kekal dalam penimbal sehingga ia selesai. Akibatnya, apabila tiada baris baharu selepas pernyataan cetakan, output tidak dipaparkan sehingga gelung atau program ditamatkan.
Membetulkan Isu
Untuk Cetakan Tunggal:
Dalam Python 3, fungsi cetakan menerima hujah siram. Menetapkannya kepada True forces output untuk dipaparkan serta-merta:
import time for _ in range(10): print('.', end=' ', flush=True) time.sleep(.2) # or other time-consuming work
Dalam Python 2, di mana cetakan ialah pernyataan, gunakan kaedah flush strim output standard (sys.stdout):
import time for _ in range(10): print '.', sys.stdout.flush() time.sleep(.2) # or other time-consuming work
Untuk Cetakan Berbilang:
Daripada mengepam selepas setiap cetakan, anda boleh melumpuhkan baris keluaran penimbal sama sekali untuk pengendalian berbilang cetakan yang lebih cekap. Pelbagai penyelesaian tersedia:
Atas ialah kandungan terperinci Bagaimana Memaksa Output Terminal Segera dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!