Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengganti Output Sebelumnya kepada Output Standard (Stdout) dalam Python?

Bagaimanakah Saya Boleh Mengganti Output Sebelumnya kepada Output Standard (Stdout) dalam Python?

DDD
DDDasal
2024-12-28 20:25:11431semak imbas

How Can I Overwrite Previous Output to Standard Output (Stdout) in Python?

Menimpa Output Sebelumnya ke Stdout

Dalam banyak senario pengaturcaraan, adalah perlu untuk mengubah suai atau mengemas kini output yang dipaparkan pada terminal. Artikel ini meneroka kaedah untuk menulis ganti cetakan sebelumnya kepada stdout, menggantikannya dengan nilai yang dikemas kini pada baris yang sama.

Carriage Return (r)

Python menyediakan aksara r (carriage return) untuk menggerakkan kursor kembali ke permulaan baris semasa tanpa mara ke baris seterusnya. Dengan menggunakan r, anda boleh menulis ganti pernyataan cetakan sebelumnya:

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

# Python 2.7
from __future__ import print_function
for x in range(10):
    print(x, end='\r')
print()

Koma di Penghujung Penyata Cetakan

Dalam Python 2, koma di penghujung kenyataan cetakan menghalangnya daripada memajukan ke baris seterusnya, membenarkan untuk menimpa:

# Python 2
for x in range(10):
    print '{0}\r'.format(x),
print

Kosongkan ke Tamat Baris (x1b[1K)

Apabila baris teks baharu lebih pendek daripada yang sebelumnya, anda boleh menggunakan x1b[1K (jelas ke hujung baris) untuk mengosongkan baki aksara:

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

Melumpuhkan Pembalut Baris

Secara lalai, Python membalut garisan yang melebihi lebar terminal. Untuk mengelakkan perkara ini dan memastikan bahawa aksara berturut-turut menimpa baris sebelumnya, lumpuhkan pembalut baris dengan x1b[7l:

print('\x1b[7l', end='')  # Disable line wrapping
for x in range(50):
    print(x, end='\r')
print('\x1b[7h', end='')  # Re-enable line wrapping

Nota: Sentiasa dayakan semula pembalut baris selepas melumpuhkannya untuk mengelakkan keluar terminal dalam keadaan rosak.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengganti Output Sebelumnya kepada Output Standard (Stdout) dalam 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