«

2016.10.25

Python: input from Keyboard without Enter

Pythonでリアルタイムにキーボード入力を処理する方法

Pythonでキーボードからの入力を受け取る場合は、
input()やraw_input()を使うのが一般的だが、
これらはEnterキーを打つまで入力待ちの状態になってしまう。

Enterキーを打たずに、キーを1つ打った直後に処理を行いたい場合、
意外と直接的な命令がなく面倒な前処理が必要だったのだが、
Pythonではreadcharというライブラリを使えば簡単に処理することができる。

まず

# pip install readchar

して

プログラム内で

import readchar
c = readchar.readchar()
key = readchar.readkey()

のようにreadchar()やreadkey()を呼び出せば良い。

サンプルプログラム
キーボードからの文字入力をそのまま標準出力する。
qで終了。