Python 3 функция ввода: клавиши со стрелками не работают - PullRequest
0 голосов
/ 17 апреля 2020


У меня есть небольшой код из моего проекта:

while True:
    x = input(">>> ")

Все работает нормально, но когда я хочу использовать клавиши со стрелками, чтобы увидеть последние набранные мной команды, он вставляет ^ [[A (код для Arrow-up, например)

Я использую Raspbian и LXTerminal (я также пробовал GnomeTerminal). На Windows все отлично работает. Использование клавиш со стрелками в обычном терминале или в оболочке Python также работает нормально.

Как это исправить?

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Использование клавиш со стрелками в обычном терминале или в оболочке Python также работает нормально.

Это потому, что кто-то написал некоторый код в этих программах для выполнения указания c действие при нажатии стрелки вверх. Ваша программа не перебирает историю, когда вы нажимаете стрелку вверх, потому что вы не написали логи c для этого. Функция input() не предоставляет вам эту функцию бесплатно. Вы должны написать это сами или найти библиотеку, которая сделает это за вас.

0 голосов
/ 17 апреля 2020

Когда вы запускаете свой код, вы должны добавить специальную функцию с помощью клавиатуры. https://pypi.org/project/keyboard/

Это был бы правильный тип модуля для этой задачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...