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
Lepaskan: 2024-12-28 20:25:11
asal
478 orang telah melayarinya

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()
Salin selepas log masuk

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
Salin selepas log masuk

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()
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan