0

コンソールから出力を表示するpythonチャットボットを書いています。0.5 秒ごとにサーバーに更新を要求し、メッセージに応答します。コンソールにチャットログが表示されます。

ほとんどの場合、これで十分ですが、通常のワークフローを中断して、自分でカスタム チャットの回答を書きたい場合があります。「カスタム返信モード」に切り替えるボタン (または組み合わせ) を押すことができれば幸いです。それを行う、または同様の結果を達成するための最良の方法は何ですか?

どうもありがとう!

4

2 に答える 2

1

select.select()onを使用sys.stdinすると、端末でキーが押されたかどうかを確認できます。

于 2010-05-21T13:33:25.017 に答える
1

前の回答のコメントを考えると、キーが押されるとすぐにトリガーされるものではなく、キーが押されたかどうかを判断する非ブロック関数が必要です。

そのため、OS で利用可能な端末 API のいくつかを使用することをお勧めします。通常、これは curses または win32 コンソール API です。ただし、asciimaticsで両方に共通のラッパーを作成しました。のget_event()メソッドは、Screenマウスとキーボードのイベントを取得する簡単なクロスプラットフォームの方法を提供する必要があります。キーボード イベントかどうかを確認するには、返されたイベントの種類を確認します。イベントがなかった場合は のリターン コードが返されますNoneが、キーが押された場合は が返されます KeyboardEvent

于 2015-12-22T10:19:10.637 に答える