シェルで Enter キーを押さずにユーザー入力を取得する
Python で raw_input を使用してシェルでユーザーと対話したいと考えていますが、応答を入力した後に Enter キーを押す必要はありません。
Windows解決策
Windows の場合は、msvcrt モジュール、特に msvcrt.getch 関数を使用できます。
import msvcrt c = msvcrt.getch() if c.upper() == 'S': print('YES')
Unix 解決策
Unix の場合、このレシピを参照して同様の getch を作成できます。 function:
import tty import termios def getch(): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
この関数を使用すると、Enter キーを押さずにユーザー入力を取得できます:
c = getch() if c.upper() == 'S': print('YES')
以上がシェルで Enter キーを押さずにユーザー入力を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。