5
在控制檯可以打印"\b"
抹去這樣移動一個字符左側的控制檯
print "the last char is going to be erased\b" # the last char is going to be erased
左光標(退格鍵)的性質如何只是移動一個位置到左邊,而不是擦除(左箭頭)?
在控制檯可以打印"\b"
抹去這樣移動一個字符左側的控制檯
print "the last char is going to be erased\b" # the last char is going to be erased
左光標(退格鍵)的性質如何只是移動一個位置到左邊,而不是擦除(左箭頭)?
這取決於終端類型和連接,但通常可以假定ANSI光標移動,所以光標左是ESC +「[」 +「d」:
print "The cursor should be here:> <\e[D\e[D"
readline
Mark,我得到「光標應該在這裏:><←[D←[D」在標準的Windows 7控制檯中,轉義序列顯然不被解釋,但\ b是儘管它必須跟着另一個字符。例如「打印」光標應該在這裏:> \ b「'給出」光標應該在這裏:「 – peter 2012-04-22 01:53:22
Windows不解釋ANSI轉義。我不認爲我可以在Windows機器上開發;我感覺自己不斷地跳過籃球。 – d11wtq 2012-04-22 09:13:03
@Mark:它有挑戰,但您的客戶需要能夠運行您的代碼,並且由於大多數客戶擁有Windows,這是最簡單的方法。關於ansi的東西,有寶石應該使這成爲可能,但我不願意用這些簡單的工作。畢竟,如果\ b工作(顯然沒有ansi),爲什麼不應該那樣移動光標? – peter 2012-04-22 12:07:21