Quiero escribir un código en Python. Quiero crear un código donde el usuario tenga una cantidad de tiempo establecida (10 segundos) y el usuario debe presionar repetidamente una tecla. ¿Cómo puedo hacer esto?

Tienes pocas opciones. Si desea que la IU funcione dentro de una consola normal (Unix / Linux) (ventana de terminal de texto), entonces usaría la Programación de maldiciones con el módulo Python (de las bibliotecas estándar) o uno de los envoltorios a su alrededor, como: PyPI : Bendiciones, Urwid o npyscreen. La mayoría de estos tienen alguna opción para establecer un tiempo de espera en una o más de sus funciones de entrada de caracteres / teclado.

En la documentación de las bibliotecas estándar de Python hay una alternativa a las maldiciones para obtener pulsaciones de teclas desde una consola de texto documentada aquí: Preguntas frecuentes sobre bibliotecas y extensiones: Obtenga una pulsación de tecla. Sin embargo, eso no ofrece una opción de tiempo de espera. Puede organizar su proceso para enviarse una señal de “ALARMA” después del tiempo de espera deseado; y llame a ese código desde un intento: … excepto … bloque. Aquí hay un ejemplo simple de hacerlo: documentación de Python 2.7.10: señal 17.4.1: ejemplo, aunque usaría algo un poco más como esto:

señal de importación
clase Timeout (RuntimeError): pasar
def handle_alarm (signum, frame):
aumentar el tiempo de espera, “Tiempo de espera agotado”

tratar:
key = your_input_function (* your_args)
excepto tiempo de espera:
clave = Ninguno
# haz lo que quieras en el tiempo de espera aquí:

(En otras palabras, declara tu propia excepción y atrápala).

Si está hablando de un símbolo del sistema de MS Windows, entonces podría usar algo como:

import msvcrt c = msvcrt.getch () print ‘usted ingresó’, c

… pero eso tampoco ofrece un tiempo de espera; y no sé nada sobre el manejo de señales en MS Windows.

Además de eso, también podría mirar PySDL2 (el reemplazo del PySDL descontinuado – un contenedor de Python alrededor de las “bibliotecas de capa de medios directos simples). Esto sería más adecuado para un sistema de entrada basado en GUI … aunque hay muchos enlaces de biblioteca GUI para Linux (incluidos los del antiguo sistema TkInter o el más nuevo, aunque razonablemente portátil, wxPython y muchos otros).