Pythonのraw_inputをプログラムで中断する方法はありますか?具体的には、ユーザーにプロンプトを表示するだけでなく、ソケット記述子をリッスンし(たとえば、selectを使用)、プロンプトを中断して何かを出力し、データがソケットに入った場合はプロンプトを再表示します。
sys.stdinで単にselectを実行するのではなく、raw_inputを使用する理由は、readlineモジュールを使用してプロンプトの行編集機能を提供したいからです。
私の知る限り…「並べ替え」。
raw_input
はブロッキングであるため、私が考えることができる唯一の方法は、サブプロセス/スレッドを生成して入力を取得し、スレッド/サブプロセスと通信することです。これはかなり汚いハックです(少なくとも私にはそう思われます)が、クロスプラットフォームで機能するはずです。もちろん、他の選択肢は、Linuxでcursesモジュールを使用するか、Windows用にこれを入手することです。