シンプルな read-eval-print-loop でいくつかのコマンドを受け入れることができる Python ベースのアプリがあります。入力を取得するために使用raw_input('> ')
しています。Unix ベースのシステムでは、import readline
動作を少し改善することも目的としています。これはすべて正常に機能しています。
問題は、非同期イベントが発生することです。イベントが発生したらすぐに出力を印刷したいと考えています。残念ながら、これは見栄えを悪くします。"> " 文字列は出力後に再び表示されず、ユーザーが何かを入力している途中である場合、テキストが半分に切り刻まれます。何かを印刷した後、おそらくユーザーの進行中のテキストを再描画する必要があります。
これは、解決された問題でなければならないようです。これを行う適切な方法は何ですか?
また、一部のユーザーは Windows ベースであることにも注意してください。
ティア
編集:受け入れられた回答はUnixyプラットフォーム(readlineモジュールが利用可能な場合)で機能しますが、Windowsでこれを機能させる方法を誰かが知っていれば、大歓迎です!