Как принять keypress в командной строке python?

Возможный дубликат:
Python читает один символ от пользователя

Я ищу, чтобы иметь возможность управлять роботом с помощью клавиш со стрелками, используя python. И моя идея заключалась в том, чтобы реализовать код, который выглядел примерно так …

#!/usr/bin/env python # control a robot using python exit = 0 while exit == 0: keypress = ##get keypress, if no key is pressed, continue## if keypress == 'q': exit = 1 break elif keypress == KEY_UP: ##robot move forward## elif keypress == KEY_DOWN: ##robot move backward## print "DONE" 

Однако проблема в том, что я не знаю, как заставить пользователей вводить данные. И я не могу использовать решение на основе графического интерфейса, такое как pygame, из того, что я нашел, потому что робот не использует дисплей.

Любая помощь очень ценится!

One Solution collect form web for “Как принять keypress в командной строке python?”

Простой пример проклятия. Подробные сведения см. В документах для модуля curses .

 import curses stdscr = curses.initscr() curses.cbreak() stdscr.keypad(1) stdscr.addstr(0,10,"Hit 'q' to quit") stdscr.refresh() key = '' while key != ord('q'): key = stdscr.getch() stdscr.addch(20,25,key) stdscr.refresh() if key == curses.KEY_UP: stdscr.addstr(2, 20, "Up") elif key == curses.KEY_DOWN: stdscr.addstr(3, 20, "Down") curses.endwin() 
Python - лучший язык программирования в мире.