La función de suspensión de Python: cómo hacer que Python espere unos segundos antes de continuar, con comandos de ejemplo

Puede usar la sleep()función de Python para agregar un retraso de tiempo a su código.

Esta función es útil si desea pausar su código entre llamadas a la API, por ejemplo. O mejore la experiencia del usuario agregando pausas entre palabras o gráficos.

from time import sleep sleep(2) print("hello world") 

Cuando ejecuto el código anterior, hay un retraso de dos segundos antes de que se imprima "hola mundo".

Experimento un retraso porque sleep()detiene la "ejecución del hilo de llamada" durante un número determinado de segundos (aunque el tiempo exacto es aproximado). Entonces, la ejecución del programa se detiene durante aproximadamente dos segundos en el ejemplo anterior.

En este artículo, aprenderá cómo poner su código Python en suspensión.

Los detalles del sueño

El módulo de tiempo de Python contiene muchas funciones relacionadas con el tiempo, una de las cuales es sleep(). Para usar sleep (), debe importarlo.

from time import sleep 

sleep () toma un argumento: segundos. Esta es la cantidad de tiempo (en segundos) que desea retrasar su código.

seconds = 2 sleep(seconds) 

Dormir en acción

Ahora usemos sleep()de diferentes maneras.

Después de importar el sueño del timemódulo, se imprimirán dos líneas de texto. Sin embargo, habrá una demora de aproximadamente dos segundos entre la impresión de cada línea.  

from time import sleep print("Hello") sleep(2) print("World") 

Esto es lo que sucedió cuando ejecuté el código:

"Hello"Esta línea se imprimió de inmediato.

Luego, hubo un retraso de aproximadamente dos segundos.

"World" Esta línea se imprimió unos dos segundos después de la primera.

Puedes ser preciso

Haga que su retraso de tiempo sea específico pasando un número de punto flotante a sleep().

from time import sleep print("Prints immediately.") sleep(0.50) print("Prints after a slight delay.") 

Esto es lo que sucedió cuando ejecuté el código:

"Prints immediately." Esta línea se imprimió inmediatamente.

Luego, hubo un retraso de aproximadamente 0,5 segundos.

"Prints after a slight delay." Esta línea se imprimió aproximadamente 0,5 segundos después de la primera.

Crear una marca de tiempo

Aquí hay otro ejemplo a considerar.

En el siguiente código, creo cinco marcas de tiempo. Utilizo sleep()para agregar un retraso de aproximadamente un segundo entre cada marca de tiempo.

import time for i in range(5): current_time = time.localtime() timestamp = time.strftime("%I:%m:%S", current_time) time.sleep(1) print(timestamp) 

Aquí, importo todo el módulo de tiempo para poder acceder a múltiples funciones desde él, incluido sleep ().

import time 

Luego, creo un bucle for que se repetirá cinco veces.

for i in range(5): ... 

En cada iteración, obtengo la hora actual.

current_time = time.localtime() 

Consigo una marca de tiempo utilizando otra función en el módulo de tiempo, strftime().

timestamp = time.strftime("%I:%m:%S", current_time) 

La función sleep () es la siguiente, lo que provocará un retraso en cada iteración del bucle.

time.sleep(1) 

Cuando ejecuto el programa, espero aproximadamente un segundo antes de que se imprima la primera marca de tiempo. Luego, espero alrededor de un segundo para que se imprima la siguiente marca de tiempo, y así sucesivamente hasta que termina el ciclo.

The output looks like this:

04:08:37 04:08:38 04:08:39 04:08:40 04:08:41 

sleep() and the User Experience

Another way to use sleep() is to enhance the user’s experience by creating some suspense.

from time import sleep story_intro = ["It", "was", "a", "dark", "and", "stormy", "night", "..."] for word in story_intro: print(word) sleep(1) 

Here, I iterate through the list of words in story_intro. To add suspense, I use the sleep() function to delay by about a second after each word is printed.

time.sleep(1) 

Although execution speed is often at the forefront of our minds, sometimes it’s worth slowing down and adding a pause in our code. When those occasions arise, you know what to reach for and how it works.

I write about learning to program, and the best ways to go about it on amymhaddad.com. I tweet about programming, learning, and productivity: @amymhaddad.