我正试图编写一个等待读线输入的程序,但对于非阻塞输入,该程序的等待时间有限。另一个关于stackoverflow的问题提醒我选择模块。它似乎符合我的要求。然而,当我试图实施它时,如下所示:
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。我正在使用Python 2.7.2+.运行ubuntu 11.10
有人能帮我解释一下吗?我真的需要超时功能。
听起来你在调用numpy.select函数,但你想要select.select功能。相应地导入它们。