我正在 python 中執(zhí)行代碼,并希望通過重寫輸出上的當前行來更新我的狀態(tài)。例子:import timeprint("1 a a a", end="\r")time.sleep(1) #placeholder for doing stuffprint("2 a a a", end="\r")time.sleep(1) #placeholder for doing stuffprint("3 a a a", end="\r")time.sleep(1) #placeholder for doing stuffprint("BBBB")print("c")現(xiàn)在這段代碼的輸出是BBBBa ac如何更改我的代碼以獲得以下輸出?BBBBc謝謝。
1 回答

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
\r
只移動光標;它本身不會刪除文本,它只提供覆蓋現(xiàn)有文本的機會。
幾乎您嘗試的任何操作都將取決于終端,但通常您使用的是使用ANSI 轉義序列的終端。一種這樣的序列可用于清除當前行。
import time
print("\x1b[K1 a a a", end="\r")
time.sleep(1) #placeholder for doing stuff
print("\x1b[K2 a a a", end="\r")
time.sleep(1) #placeholder for doing stuff
print("\x1b[K3 a a a", end="\r")
time.sleep(1) #placeholder for doing stuff
print("\x1b[KBBBB")
print("c")
\x1b[K清除從當前光標位置到當前行末尾的內容。
類似的庫ncurses可用于獨立于終端的屏幕處理。
添加回答
舉報
0/150
提交
取消