Как я могу заставить msvcrt.getch () вести себя так же, как в Mintty, как в CMD? - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь вызывать функции при нажатии клавиш в python. Когда скрипт запускается в командной строке Windows (cmd.exe), все работает как положено. Но обычно, когда я в Windows, я использую mintty.

В mintty приложение ведет себя по-другому. getch() блокирует приложение (навсегда).

import msvcrt

print("press a key")
char = msvcrt.getch()
print(f"you pressed: {char}")

В командной строке Windows:

нажмите клавишу

(я нажимаю клавишу)

вы нажали: b'a '

(приложение закрыто, как и должно)

Mintty:

нажмите клавишу

(я нажимаю несколько раз)

аааааааааааааа

(ничего не происходит)

...