select の使用の問題で Unix 限定(?)。
少なくとも Windows では使えない(らしい)。cygwin は可。
def inputWithTimeout(timeout_time):
i, o, e = select.select([sys.stdin], [], [], timeout_time)
if (i):
return sys.stdin.readline().strip()
else:
return None