Python Obtener entrada de usuario con tiempo de espera
Este tutorial analizará la obtención de información de un usuario con un período de tiempo de espera utilizando la biblioteca inputimeout
de Python.
Python Obtener entrada de usuario con tiempo de espera
Si queremos recibir información de un usuario dentro de un período específico, como 5 segundos, podemos usar la biblioteca inputimeout
de Python. Podemos usar pip
para instalar esta biblioteca usando la siguiente línea de código.
pip install inputimeout
Podemos ejecutar este comando en PowerShell o en un símbolo del sistema para instalar la biblioteca inputimeout
. Asegúrese de que pip
esté instalado y agregado a RUTA
antes de ejecutar el comando anterior.
Si no se agrega pip
a la ruta, debemos proporcionar la ruta completa al archivo pip.exe
junto con su nombre para usar en PowerShell
o en el símbolo del sistema. El ejemplo de uso se muestra a continuación.
C:\Users\ammar\AppData\Local\Programs\Python\Python39\Scripts\pip.exe install inputimeout
Si inputimeout
está instalado sin ningún error, podemos importar los módulos inputimeout
y TimeoutOccured
para usarlos en nuestro código. La función inputimeout()
tomará la entrada del usuario, y podemos pasar dos argumentos dentro de ella.
El primer argumento, prompt
, es el mensaje que queremos mostrar al usuario mientras realiza la entrada; este argumento es opcional. El segundo argumento, tiempo de espera
, se usa para establecer el tiempo en segundos, y la función esperará hasta el momento dado. Después de eso, generará una excepción y podemos usar el nombre de excepción TimeoutOccured
, que podemos usar con la instrucción try-except
para evitar un error.
from inputimeout import inputimeout, TimeoutOccurred
try:
user_input = inputimeout(prompt="Enter input: \n", timeout=5)
except TimeoutOccurred:
user_input = "you have not entered any input"
print(user_input)
Producción :
Enter input:
you have not entered any input
En el código anterior, usamos la declaración try-except
de Python para evitar la excepción si el usuario no ingresó ninguna entrada en el tiempo dado. Usamos el nombre de la excepción para establecer la entrada en otra cosa, como un valor predeterminado.
Si el usuario ingresa una entrada, se imprimirá, y si el usuario no ingresa ninguna entrada durante el tiempo de espera dado, se imprimirá la entrada predeterminada. La entrada se guarda en la variable user_input
.
Consulte este enlace para obtener más detalles sobre la biblioteca inputimeout
.