Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 4, 2012 08:34:10

kt315e
От:
Зарегистрирован: 2009-12-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

Необходимо выйти из цикла по нажатию клавиши, система Linux.
Обсуждалось здесь:
http://python.su/forum/viewtopic.php?id=5346

Как я понял приемлемого решения не найдено было.
Может кто чего подскажет.



Офлайн

#2 Янв. 4, 2012 08:49:11

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

kt315e
Как я понял приемлемого решения не найдено было.
что значит приемлемого? несколько рабочих вариантов предложено, + можно через селекты попробовать.

Офлайн

#3 Янв. 4, 2012 09:15:00

kt315e
От:
Зарегистрирован: 2009-12-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

Кучеряво потоки вводить, чтобы нажатие клавиши проверить. А кто такие селекты?
Низкоуровневое управление терминалом тоже не особо удобно. Может кто добрый батарейку написал?



Отредактировано (Янв. 4, 2012 10:34:22)

Офлайн

#4 Янв. 4, 2012 16:31:39

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

У меня работает это:

import curses

curses.initscr()
win = curses.newwin(0, 0)
while 1:
ch = win.getch()
if ch != -1:
break

curses.endwin()



Офлайн

#5 Янв. 4, 2012 16:40:23

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

Офлайн

#6 Янв. 6, 2012 15:28:08

kt315e
От:
Зарегистрирован: 2009-12-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

После инициализации ncurses не работает вывод на экран print-ом. Работаю в Konsole и kate.
На виртуальной консоли тоже самое.



Отредактировано (Янв. 6, 2012 15:37:35)

Офлайн

#7 Янв. 6, 2012 19:56:21

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

может и так. Второй рецепт пробовали? Он по виду нормален и не требует ncurses



Офлайн

#8 Янв. 7, 2012 08:22:39

kt315e
От:
Зарегистрирован: 2009-12-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

Попробовал, просто вешает терминал до ввода Ctrl-C.



Офлайн

#9 Янв. 7, 2012 08:44:43

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

у меня вот этот пример работает нормально http://www.py-my.ru/post/4f04a541bbddbd0836000000 (py2.7, linux)

Отредактировано (Янв. 7, 2012 08:44:58)

Офлайн

#10 Янв. 7, 2012 08:54:35

kt315e
От:
Зарегистрирован: 2009-12-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Прверка нажатия клавиши в консольной программе

А у меня нет, тоже блокирует терминал. python2.5.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version