ループを実行しているプログラムがあります。 たとえば、キーボードのキー「ESC」を押すたびに、「あなたはESCキーを押しました」と表示し、コマンドを実行する機能を呼び出す必要があります。Pythonでキーが押されたときに関数を呼び出す方法
私はこの試みた:すべての私の試み、MSVCRT doesntのは、Python 3.3でまたは他の何らかの理由のために働くように見える後
from msvcrt import getch
while True:
key = ord(getch())
if key == 27: #ESC
print("You pressed ESC")
elif key == 13: #Enter
print("You pressed key ENTER")
functionThatTerminatesTheLoop()
を。 基本的には、プログラムの実行中に、いつどのキーポイントでもプログラムを反応させることができますか?
EDIT:まだ
import sys
while True:
char = sys.stdin.read(1)
print ("You pressed: "+char)
char = sys.stdin.read(1)
しかし、それはreisteredする入力用のコマンドコンソールに入力する入力が必要ですが、私はTkinterでは、私のループを実行しているので、私:また、私はこれを見つけましたkeypressが検出された直後に何かをする方法が必要です。
私はあなたがIDLE(またはおそらく別のIDE)では動作しないと思っています。しかし、基本的な考え方(例えば、 'elif'までの部分)は、少なくとも私のためには完全に機能します。 – rlms