Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengganti Output Sebelumnya kepada Output Standard (Stdout) dalam Python?
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.
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()
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
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()
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!