私はPythonで簡単なチャットプログラムを書いています。 あなたはちょうど底にあるべきである単純なinput()プロンプト(readlineを使って)を持っています。今出力があるときに、まだバッファリングされたstdin行を1つ下に移動します。
partner: hey
you > (stdin)
、私は呪いを使用せずにこれをしようとしていると私は、これら2つの定数「パートナー」からのメッセージが受信されるたびに、私はこのように使用
CURSOR_UP_ONE = '\x1b[1A'
ERASE_LINE = '\x1b[2M'
を定義することで成功を収めている。
print(ERASE_LINE + CURSOR_UP_ONE)
print('partner > ' + msg)
print('you > ')
これはうまくいきますが、問題が1つあります。「パートナー」からのメッセージが入力されたときに入力を開始すると、入力した行を消去しますcess)、消去された文字は明らかにinput()が返すものの一部です。
だから、cursesや入力された文字をバッファリングしてアクセス、表示、操作できるようにするには、入力プロンプトを下に移動する方法がありますか?
'cuu1'を使うのではなく、最初に' print'から '\ n'を避けたいと思うでしょう。 – o11c