Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengganti Output Sebelumnya dalam Fungsi `print()` Python?

Bagaimanakah Saya Boleh Mengganti Output Sebelumnya dalam Fungsi `print()` Python?

Barbara Streisand
Barbara Streisandasal
2024-12-03 07:47:09587semak imbas

How Can I Overwrite Previous Output in Python's `print()` Function?

Menimpa Output Sebelumnya pada Stdout

Dalam Python, kelakuan lalai fungsi print() adalah untuk memulakan baris baharu selepas setiap seruan . Walau bagaimanapun, senario tertentu memerlukan menulis ganti output sebelumnya pada baris yang sama.

Tulis Ganti Mudah

Untuk menulis ganti baris sebelumnya, tambahkan 'r' (carriage return) pada akhir hujah print(). Aksara kembali ini menggerakkan kursor ke permulaan baris semasa tanpa memulakan baris baharu.

for x in range(10):
    print(x, end='\r')
print()

Pembersihan Baris

Apabila teks baharu lebih pendek daripada baris sebelumnya, ia mungkin meninggalkan sisa teks lama. Untuk mengosongkan mana-mana aksara yang tinggal, tambahkan 'x1b[1K' (kosongkan ke hujung baris) pada hujah akhir.

for x in range(75):
    print('*' * (75 - x), x, end='\x1b[1K\r')
print()

Balut Baris Panjang

Balut baris merujuk kepada penerusan automatik garisan melepasi garisan hujungnya. Untuk mengelakkan pembalut baris dan memaksa aksara berturut-turut untuk menulis ganti yang sedia ada, lumpuhkan pembalut baris menggunakan 'x1b[7l' dan dayakannya semula menggunakan 'x1b[7h'.

print('\x1b[7l', end='')  # disable line wrap
print('\x1b[7h', end='')  # re-enable line wrap

Nota: Pembolehan semula balut garisan mesti dilakukan secara manual untuk mengelakkan kerosakan terminal. Selain itu, penyelesaian ini hanya mengawal panjang garisan semasa dan tidak melimpah ke baris berikutnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengganti Output Sebelumnya dalam Fungsi `print()` 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