Hacer un temporizador de Python interuptable de "cualquier clave"

Estoy tratando de hacer un temporizador simple que cuente hasta que sea interrumpido por la entrada del teclado.

En este momento estoy usando CTRL + C para detener el temporizador, pero me gustaría hacer algo más simple como pulsar el espacio o ingresar o "cualquier tecla". Escuché que esto se puede hacer con el módulo de subprocesamiento, pero después de varios intentos claramente no sé qué estoy haciendo con eso.

este es mi código actual:

def countup():
    try:
        a=0
        for i in range(1000000) :
            print i,'\r',
            time.sleep(1)
    except KeyboardInterrupt:
         Z = raw_input("restart timer?" )
         if Z == "Y" or Z == "y" :
             countup()

Respuestas a la pregunta(2)

Su respuesta a la pregunta