9

Pythonのraw_inputをプログラムで中断する方法はありますか?具体的には、ユーザーにプロンプ​​トを表示するだけでなく、ソケット記述子をリッスンし(たとえば、selectを使用)、プロンプトを中断して何かを出力し、データがソケットに入った場合はプロンプトを再表示します。

sys.stdinで単にselectを実行するのではなく、raw_inputを使用する理由は、readlineモジュールを使用してプロンプトの行編集機能を提供したいからです。

4

1 に答える 1

2

私の知る限り…「並べ替え」。

raw_inputはブロッキングであるため、私が考えることができる唯一の方法は、サブプロセス/スレッドを生成して入力を取得し、スレッド/サブプロセスと通信することです。これはかなり汚いハックです(少なくとも私にはそう思われます)が、クロスプラットフォームで機能するはずです。もちろん、他の選択肢は、Linuxでcursesモジュールを使用するか、Windows用にこれを入手することです。

于 2010-07-02T20:35:54.817 に答える