Обнаружение нажатия клавиш со стрелками на консоли в Python - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь написать консольную программу на Python 3, которая предоставляет своего рода оболочку для пользователя, так же, как оболочка Python 3 в консоли.Я смог добиться этого сравнительно быстро, используя метод input().Тем не менее, было бы неплохо, если бы в этой оболочке можно было использовать клавиши со стрелками для циклического переключения между недавно набранными командами, как в других оболочках.Метод input() не предоставляет эту функцию, и я не нашел никаких других простых инструментов для этого, кроме модуля curses, который должен работать на весь экран.Один из моих подходов состоял в том, чтобы прочитать набранный текст из байта stdin, а затем проверить его по кодам для специальных символов, которые я ищу.Это работает довольно хорошо, но может столкнуться с проблемами, когда пользователь (по какой-то причине) вводит странный символ Юникода, который содержит код для клавиши, такой как клавиша со стрелкой где-то посередине.Хотя это все еще приемлемое для меня решение, я чувствую, что это проблема, которую следовало бы решить (лучше) раньше, учитывая, как часто это должно происходить.

...