Я пытаюсь написать программу, которая ожидает ввода readline, но только в течение ограниченного промежутка времени для неблокирующего ввода. Из другого вопроса о стековом потоке я был предупрежден о модуле Select. Это, казалось, отвечало всем требованиям. Тем не менее, когда я пытаюсь реализовать это, следующим образом:
i,o,e = select([sys.stdin],[],[],5)
, как описано в docs.python.org, (меня интересует только ввод, и в этом примере тайм-аут 5 секунд) Я получаю сообщение об ошибке:
TypeError: select() takes at most 3 arguments (4 given)
Если я вместо этого назову это как:
i,o,e = select([sys.stdin],[],[])
Тогда я получаю:
ValueError: list of cases must be same length as list of conditions
с вызывающим модулем /usr/lib/pymodules/python2.7/numpy/lib/function_base.py строка 718.
Я использую Ubuntu 11.10 с Python 2.7.2 +.
Может кто-нибудь пролить свет на это для меня? Мне действительно нужна функция тайм-аута.