2013-01-13 120 views
8

我想在Python3中編寫一個控制檯應用程序。Python控制檯應用程序 - 輸入行以上輸出

問題是我希望所有的輸出信息EG:print(「狀態信息」)位於底部輸入行的上方。

Status message 1 
Status message 2 
Status message 3 
Console:> I want to type here while the output messages displayed 

此刻它看起來更像這個

Console:> want to type here while the outStatus message 1 
put messages displayed 

反正有沒有做到這一點,而無需使用詛咒?

回答

2

試試這個:

print chr(27)+'[2AOutput' 

希望這是你在問什麼。

對不起,以上是Python 2.7。我不確定是否Python 3版本

print(chr(27)+'[2AOutput') 

將工作與否。

價: http://en.wikipedia.org/wiki/ANSI_escape_code

+0

這將去除具有的輸出的積壓的功能。如果你想保留這個功能,你可以這樣做: print('\ e [A \ e [kOutput \ n提示的當前狀態',end ='') '\ e [A'移動光標移到最後打印的字符串(應該是'Console:> ...')。 '\ e [k'清除該行,然後用新輸出替換它,然後重新打印'Console:> ...'並準備好從輸入中接收更多值。有可能應該跳過'\ e [A'。 – Hobblin

相關問題