Meh, select.poll is *nix only as well. Oh well.. here's the same example using select.select instead of select.poll (which, unless i'm grossly mistaken, is cross platform

). The reason I didn't use it to begin with is that select.poll is more readable.
import sys, select
def readWithTimeout(message, timeout):
""" Like raw_input, but you specify a timeout (in seconds). If that time
is reached, then this just returns a blank string. """
output = select.select([sys.stdin], [], [], timeout)
if len(output[0]):
return sys.stdin.readline()
else:
return ""
# Timeouts after 5 seconds.
name = readWithTimeout("Yeah, your name like: ", 5)