我在尋找一種方法來刪除標準輸出由腳本生成的輸出的一部分。我們假設輸出如下:的Python乾淨的輸出控制檯,直至具體線路
line 1: some text...
line 2: other text...
line 3: and so on...
此時腳本我稱之爲os.system("ls")
的,這產生在當前目錄中的文件與我不能預先知道的輸出量清單。因此,標準輸出將更新爲
line 1: some text...
line 2: other text...
line 3: and so on...
line 4: file1
line 5: file 2
...
line n: file n
我想幹淨3線標準輸出到第n行,但我不知道該怎麼做。我已經試圖挽救光標位置在3號線使用轉義\033[s
(然後使用\033[K
逃避行刪除線),但這不工作(我的系統不支持\033[s
)。我能在使用轉義\033[<L>;<C>H
線3回,但我不知道如何刪除文本,直到結束(或向後刪除行,直到3號線)。 有人有一個想法如何做到這一點? 任何建議表示讚賞。由於
您試圖移動輸出備份?即打印輸出行1,行2,行3,然後返回行1並打印出其他內容?這在Windows上不起作用,只有某些終端支持特殊字符來實際執行此操作。你可以在窗口上使用\ b在同一行上返回*,但不能倒退。在Windows上的替代方法是清除整個屏幕,但這通常只是打印\ n字符,而不是實際清除終端輸出。 Windows確實也爲高級功能提供了自己的API,但它不是跨平臺的。 – snb