Otra cosa, solo trabajo sobre windows y python 3.x por lo que el funcionamiento en otros S.O o versiones anteriores de python (2.x) no me interesan ni probar.
Bueno así usaría una función para casi emular input y que se corte con tiempo, por supuesto hay muchas más formas de hacerlo, pero quizá este sea un puntapie de inicio para sus códigos(que espero posteen)
Está incompleto por supuesto, pero si funcional en lo simple.
Claro que todos sabemos que esto es por consola y que si fuese con tkinter sería mucho más simple y mejor.
Código
Saludos
#-*- coding:utf-8 -*- import msvcrt import time def input_tiempo(aviso = ">>>",duracion=10): #aviso es el prompt y duración cuanto hay que esperar global nombre nombre="" print (aviso) finaliza = time.time() + duracion #cuando terminar de esperar while time.time()< finaliza: if msvcrt.kbhit(): #msvcrt está recontra documentado y hay cientos de ejemplos letra= msvcrt.getche().decode('ASCII') if letra == "\r": #si el usuario presiona enter sigue normal break else: nombre+= letra #forma de uso q=input_tiempo("Escribe tu nombre: ") #pongo lo que quiera y si no pongo duración es la que viene x defecto if nombre != "": print("\nHola ¡¡ {} !!".format(nombre)) else: print("Hola desconocido")