首頁 > 後端開發 > Python教學 > 如何在 Python 中將先前的輸出覆蓋為標準輸出 (Stdout)?

如何在 Python 中將先前的輸出覆蓋為標準輸出 (Stdout)?

DDD
發布: 2024-12-28 20:25:11
原創
425 人瀏覽過

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

將先前的輸出覆蓋到 Stdout

在許多程式設計場景中,需要修改或更新終端上顯示的輸出。本文探討了將先前的列印內容覆蓋到 stdout 的方法,並用同一行上的更新值取代它。

回車 (r)

Python 提供r(回車)字元將遊標移回目前行的開頭,而不前進到下一行。透過使用r,您可以覆寫先前的列印語句:

# 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()
登入後複製

Comma at the End of Print Statement

在Python 2 中,逗號位於print 語句的末尾阻止它前進到下一行,從而允許覆蓋:

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

清除到行尾(x1b[1K)

當新的文字行比前一行短時,您可以使用x1b[1K(清除到行尾)來清除剩餘的字元:

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

停用換行

預設情況下,Python 會對超出終端寬度的行進行換行。為了防止這種情況並確保連續的字元覆蓋前一行,請使用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
登入後複製

停用換行,注意: 停用換行後始終重新啟用換行以避免離開終端處於損壞狀態。

以上是如何在 Python 中將先前的輸出覆蓋為標準輸出 (Stdout)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板