Форум сайта python.su
Нужно чтоб по нажатию клавиши эта клавиша выводилась на экран, и что-то выполнялось. Функции есть. Для винды getch() для линя вот нашел:
import sys
import tty
tty.setcbreak(sys.stdin)
while True:
print ord(sys.stdin.read(1))
Офлайн
Alex_KutsanХм… А зачем вы используете функция ord, которая преобразует строковую литералу в число?
код Для линукса выдаёт коды клавиш,
Офлайн
пробовал без ord
мне терминал выдал знаки вопроса
alex@alex-laptop ~ $ python '/media/FILES/pip.py'
�
�
�
�
�
�
�
Офлайн
без орд я пробовал
print sys.stdin.read(1)
Офлайн
Alex_KutsanКодировка не та, вероятно. Попробуйте, .encode(utf8) применить к выводу, например. В линуксе должно прокатить… Хотя я даже и не задумывался какая кодировка нужна для линуксовой консоли.
мне терминал выдал знаки вопроса
Офлайн
А ещё можно koi8r попробовать. А вообще зря я полез тут отвечать…
Офлайн
А у меня все выводит как надо, и русские символы и латинские.
Офлайн
sys.stdin.read(1) - выдает 1 байт, а в utf-8 русские символы занимают 2 байта, поэтому не удастся декодирвать utf8 из 1 байта
Отредактировано (Май 21, 2010 08:22:43)
Офлайн
Точно. У меня с read(1) работало в KOI8-R, а с read(2) в UTF8.
Офлайн