Программно прерывание raw_input

Существует ли способ программно прервать raw_input Python? А именно, я хотел бы представить подсказку пользователю, но также и послушать на дескрипторе сокета (использующий выбор, например) и прервать подсказку, произвести что-то и вновь отобразить подсказку, если данные входят на сокете.

Причина использования raw_input вместо того, чтобы просто делать выбор на sys.stdin состоит в том, что я хотел бы использовать readline модуль для обеспечения функциональности редактирования строки для подсказки.

9
задан Ray 2 July 2010 в 17:49
поделиться

1 ответ

Насколько я знаю ... «Вроде».

raw_input блокируется, поэтому единственный способ, который я могу придумать, - это создать подпроцесс / поток для получения ввода, а затем просто связаться с потоком / подпроцессом. Это довольно грязный хак (по крайней мере, мне так кажется), но он должен работать на разных платформах. Другой альтернативой, конечно же, является использование модуля curses в Linux или получение этого для Windows.

2
ответ дан 5 December 2019 в 02:07
поделиться
Другие вопросы по тегам:

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