覆蓋Stdout 上的先前輸出
在Python 中, print() 函數的預設行為是在每次呼叫後開始一個新行。但是,某些情況需要覆蓋同一行上的先前輸出。
簡單覆蓋
要覆寫上一行,請將「r」(回車符)附加到print() 的結束參數。此回車符將遊標移到目前行的開頭,而不開始新的一行。
for x in range(10): print(x, end='\r') print()
行清理
當新文本短於前一行,它可能會留下舊文本的殘餘。若要清除任何剩餘字符,請將“x1b[1K”(清除到行尾)附加到結束參數。
for x in range(75): print('*' * (75 - x), x, end='\x1b[1K\r') print()
長換行
換行指行自動延續到行尾之後。若要防止換行並強制連續字元覆蓋現有字符,請使用 'x1b[7l' 停用換行並使用 'x1b[7h' 重新啟用換行。
print('\x1b[7l', end='') # disable line wrap print('\x1b[7h', end='') # re-enable line wrap
注意: 必須手動重新啟用換行以防止端子損壞。此外,這些解決方案僅控制目前行的長度,不會溢出到後續行。
以上是如何覆蓋 Python 的 print() 函數中先前的輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!