denis-titusov
@denis-titusov
DevOps engineer

Как научить Python распознавать ESC-последовательности (в частности, нажатие стрелок) и не выводить их код, а делать то, что задумано?

Доброго времени суток!
Пишу небольшую консольную утилиту, которая будет выполняться в основном на Linux-машинах.
Возник вопрос: как научить Python распознавать ESC-последовательности (в частности, нажатие стрелок) и не выводить их код, а делать то, что задумано.

Например, при нажатии клавиши влево печатается соответствующая ESC-последовательность, вместо того, чтобы переместить курсор:

Type any symbol to break input: ^[[D
  • Вопрос задан
  • 4293 просмотра
Пригласить эксперта
Ответы на вопрос 2
tsarevfs
@tsarevfs
C++ developer
Считать можно так.
Ответ написан
@dotcar
Все рекомендуют через msvcrt.getch():
from msvcrt import getch()
while True:
  key = ord(getch())
  if key == 32:
    jump()
...
  if key == 27: #ESC
    break
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы