От python docs:
import termios, fcntl, sys, os
fd = sys.stdin.fileno()
oldterm = termios.tcgetattr(fd)
newattr = termios.tcgetattr(fd)
newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO
termios.tcsetattr(fd, termios.TCSANOW, newattr)
oldflags = fcntl.fcntl(fd, fcntl.F_GETFL)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags | os.O_NONBLOCK)
try:
while 1:
try:
c = sys.stdin.read(1)
print "Got character", `c`
except IOError: pass
finally:
termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)
Это работает только для Unix варианты, хотя. Я не думаю, что есть кросс-платформенный способ.
Где находится «любой» ключ? У меня нет на клавиатуре –
+1 для очевидного использования клише. –
@Patrick Почему у вас нет «одной» клавиши на клавиатуре? Остальные номера в порядке? Вы потеряли «1»? Или вы находите ввод «1» с помощью комбинаций клавиш ASCII приятным? – AneesAhmed777