Iniciar sesión
Iniciar sesión

Cómo usar time.sleep() en Python

Cómo usar time.sleep() en Python
Hostman Team
Redactor técnico
Programación en Python
14.10.2025
Reading time: 8 min

A veces, al ejecutar un programa, es necesario hacer una pausa: esperar a que se carguen los datos, dar tiempo al usuario para introducir información o reducir la carga del sistema. Una de las formas más sencillas de hacerlo en Python es mediante la función time.sleep(), que suspende la ejecución del programa durante un intervalo determinado.

En este artículo veremos cómo funciona time.sleep() en Python, sus características y alternativas, los posibles errores y cuándo conviene usarlo en programas multihilo o asíncronos, así como cuándo es mejor elegir asyncio.sleep() u otros mecanismos de espera.

¿Qué es la función sleep() en Python?

La función sleep() se añadió a la biblioteca estándar de Python para simplificar la creación de pausas en el código. Forma parte del módulo time y se invoca como time.sleep(), lo que permite pausar la ejecución del programa durante un número específico de segundos.

En la práctica, sleep() es útil en entornos de prueba, para introducir pausas entre solicitudes de API o intervalos entre mensajes. Sin embargo, no debe confundirse con herramientas de sincronización de hilos o tareas de temporización precisa: si necesitas coordinar tareas o I/O asíncrono, hay soluciones más adecuadas.

Cómo funciona time.sleep()

La función time.sleep() pausa el hilo actual durante el número de segundos indicado. En un programa multihilo, los demás hilos continúan ejecutándose, mientras que el hilo donde se invoca time.sleep() queda “congelado” por ese intervalo.

Es importante tener en cuenta que time.sleep() bloquea la ejecución del código en ese punto, retrasando todas las operaciones posteriores. Ignorar esto puede reducir el rendimiento o incluso congelar la interfaz de usuario en aplicaciones de escritorio.

Cuándo se usa time.sleep()

La función time.sleep() se utiliza con frecuencia durante pruebas o depuración, cuando se necesita una breve pausa, por ejemplo, para verificar una respuesta de API o esperar una contestación del servidor. También se usa para que los scripts se ejecuten paso a paso, permitiendo que el usuario vea información o introduzca datos.

En demostraciones, tutoriales y prototipos, time.sleep() ayuda a simular procesos largos, y al trabajar con servicios externos, permite evitar bloqueos por exceso de solicitudes. Sin embargo, no es la única forma de ralentizar el código; existen varias alternativas que veremos a continuación.

Cómo usar time.sleep() en Python

Usar time.sleep() en Python es muy sencillo, y los principiantes la dominan rápidamente. Aun así, es importante conocer ciertos matices, ya que pueden afectar al rendimiento y a la facilidad de depuración.

Sintaxis básica

Para usar time.sleep(), primero debes importar el módulo time:

import time
time.sleep(5)

En este ejemplo, el programa “dormirá” durante 5 segundos. El número pasado a la función puede ser entero o decimal, lo que permite usar fracciones de segundo.

Sintaxis:

time.sleep(seconds)

La función no devuelve ningún valor. Solo suspende el hilo actual durante el tiempo indicado.

Ejemplo: retrasar la ejecución del código

Supón que tienes un pequeño script que imprime mensajes con un intervalo de 2 segundos:

import time
print("First message")
time.sleep(2)
print("Second message")
time.sleep(2)
print("Third message")

Al ejecutar este script, el usuario verá una pausa de 2 segundos entre cada mensaje. Así es como funciona un retraso en Python con time.sleep(2).

Parámetros de time.sleep()

La función acepta un solo parámetro, que puede ser un entero o un decimal. Esto ofrece flexibilidad para implementar pausas en distintos contextos.

Usando segundos

La mayoría de los ejemplos usan valores enteros, representando segundos:

time.sleep(10)

Aquí, el script se detiene durante 10 segundos, lo que es útil cuando necesitas una pausa larga o limitar la frecuencia de solicitudes.

Usando fracciones de segundo (milisegundos)

A veces, se necesita una pausa más corta. En ese caso, se puede pasar un número decimal:

time.sleep(0.5)

Esto detiene el programa por medio segundo. Sin embargo, debido a las limitaciones del sistema operativo y del temporizador de Python, el retraso real puede ser ligeramente mayor. En sistemas que requieren alta precisión, se recomiendan herramientas más específicas.

Métodos alternativos para hacer pausas en Python

Aunque time.sleep() es el método más popular y sencillo, existen alternativas más adecuadas para manejar eventos externos o múltiples hilos simultáneamente.

1. Usar input() para esperar

La manera más simple de pausar un programa es con input(). Esta función detiene la ejecución hasta que el usuario presione Enter o introduzca datos.

print("Press Enter to continue...")
input()
print("Resuming program execution")

Aunque parece una pausa, no tiene límite de tiempo, ya que espera una acción del usuario. Es útil en scripts interactivos o durante la depuración.

2. Usar threading.Event()

En programas multihilo, a veces conviene usar objetos de sincronización como threading.Event(), que bloquean un hilo hasta recibir una señal.

import threading
event = threading.Event()

def worker():
    print("Starting work in thread")
    event.wait()
    print("Event received, resuming work")

thread = threading.Thread(target=worker)
thread.start()

import time
time.sleep(3)
event.set()

En este ejemplo, el hilo se bloquea hasta que se llama a event.set(). Esto permite un control más flexible, ya que el hilo puede “despertar” en cualquier momento, sin esperar toda la pausa.

3. Usar asyncio.sleep() en programas asíncronos

En programación asíncrona (módulo asyncio), se usa asyncio.sleep(). A diferencia de time.sleep(), no bloquea todo el hilo, sino solo la corrutina actual, permitiendo que el bucle de eventos continúe ejecutando otras tareas.

import asyncio

async def main():
    print("Start async work")
    await asyncio.sleep(2)
    print("2 seconds passed, resuming")

asyncio.run(main())

Esto es especialmente útil cuando se ejecutan varias funciones asíncronas en paralelo, ya que mantiene el programa fluido. Si usas time.sleep() dentro de código asíncrono, bloquearás todo el bucle de eventos.

Problemas comunes con time.sleep()

Aunque time.sleep() es fácil de usar, un mal uso puede generar bloqueos inesperados o afectar el rendimiento. Es esencial entender cómo influye en el flujo del programa.

Bloqueo del hilo principal

La principal característica de time.sleep() es que bloquea el hilo en el que se llama. Si se utiliza en el hilo principal de una aplicación con interfaz gráfica (Tkinter, PyQt, etc.), la interfaz puede congelarse.

💡 Consejo:
Usa time.sleep() solo en hilos secundarios o cambia a asyncio.sleep() para evitar bloqueos. En aplicaciones GUI, es mejor emplear temporizadores como QTimer o after().

Uso en código multihilo o asíncrono

En programas multihilo, time.sleep() puede ejecutarse en cada hilo por separado, pero no libera automáticamente el Global Interpreter Lock (GIL). Aunque otros hilos pueden seguir ejecutándose, esto depende del sistema operativo.

En código asíncrono, nunca llames a time.sleep() dentro de un bucle de eventos (asyncio.run()), ya que bloqueará toda la ejecución. Utiliza siempre asyncio.sleep(), que cede el control al planificador para que otras corrutinas sigan activas.

Ejemplo práctico: sondeo periódico de una API

Supón que escribes un script que consulta una API cada cierto tiempo, pero las reglas del servicio indican que no se puede hacer más de una solicitud cada 30 segundos.

Solución con time.sleep():

import time
def poll_api():
    print("Making API request...")
def main():
    while True:
        poll_api()
        time.sleep(30)
if __name__ == "__main__":
    main()

Después de cada solicitud, el script se pausa 30 segundos para cumplir con las restricciones.

Alternativa asíncrona:

import asyncio
async def poll_api():
    print("Making API request...")
async def main():
    while True:
        await poll_api()
        await asyncio.sleep(30)
if __name__ == "__main__":
    asyncio.run(main())

Esta versión no bloquea todo el programa, permitiendo ejecutar otras tareas en paralelo dentro del mismo entorno asíncrono.

Conclusión

Organizar pausas y retrasos es una parte importante del desarrollo en Python.
time.sleep() es la herramienta más sencilla y directa para este propósito, pero elegir entre time.sleep(), asyncio.sleep() u otros métodos depende de la arquitectura de tu proyecto.

Recomendaciones clave:

  • Usa time.sleep() para pausas cortas en pruebas, entre solicitudes o demostraciones.

  • Evita bloquear el hilo principal de las aplicaciones GUI.

  • En código asíncrono, sustituye time.sleep() por asyncio.sleep().

  • En programas multihilo, recuerda que solo el hilo actual se detiene.

  • Para esperar eventos o acciones del usuario, considera threading.Event() o input().
Programación en Python
14.10.2025
Reading time: 8 min

Similares

Programación en Python

Cómo instalar pip en Windows

pip es una utilidad que convierte la instalación y gestión de paquetes de Python en una tarea sencilla. Desde principiantes en Python hasta desarrolladores experimentados, tener esta herramienta en tu computadora con Windows es un verdadero cambio de juego. Facilita la configuración de marcos y bibliotecas esenciales para tus necesidades de desarrollo. Automatizar la gestión de paquetes con pip te ahorra tiempo y reduce las complicaciones de las instalaciones manuales. Sigue esta guía para dominar la configuración de pip y gestionar tus paquetes de Python sin esfuerzo. Proceso de configuración de pip para Windows Aquí están las pautas para configurar pip en una máquina con Windows. Paso 1: Confirmar la instalación Verifica que Python esté operativo en tu dispositivo antes de comenzar la configuración de pip. Para hacerlo, abre el símbolo del sistema y ejecuta: python --version   Si Python no está presente en tu sistema, descárgalo desde el sitio web oficial. Paso 2: Descargar get-pip.py El paquete de instalación estándar de Python incluye automáticamente pip. Sin embargo, en caso de que se haya eliminado accidentalmente, descarga el script get-pip.py. Tienes un par de opciones: visitar la página web de pip.py o usar el comando curl para una instalación rápida: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Nota: reinstalar Python para obtener pip también es una opción. Sin embargo, esto puede causar conflictos con otras dependencias o configuraciones. Con este script, tu configuración actual de Python permanece intacta. Paso 3: Ejecutar get-pip.py Navega hasta la ubicación del script usando el símbolo del sistema y ejecuta: python get-pip.py Esto instalará pip sin problemas en tu dispositivo. Paso 4: Confirmar la instalación de pip Valida la instalación ejecutando: pip --version Este comando confirma que pip está instalado en el sistema. Paso 5: Agregar pip a la variable PATH del sistema Si el comando no se ejecuta correctamente, actualiza tu variable PATH del sistema siguiendo estas instrucciones para incluir pip: Haz clic derecho en Mi PC o Este equipo y selecciona Propiedades. Elige Configuración avanzada del sistema. Selecciona Variables de entorno. En Variables del sistema, busca la variable Path y haz clic en Editar. Agrega el directorio Scripts de Python a tu PATH del sistema, por ejemplo: C:\Python39\Scripts. Métodos alternativos para instalar pip en Windows Veamos otras formas de instalar pip fácilmente en Windows. Mediante el módulo integrado ensurepip Desde Python 3.4 en adelante, existe un práctico módulo incorporado llamado ensurepip. Con esta herramienta, la instalación de pip se simplifica, eliminando la necesidad del script get-pip.py. Paso 1: Ejecutar ensurepip Introduce el siguiente comando para configurar pip: python -m ensurepip --default-pip Paso 2: Verificar la instalación de pip Comprueba la versión de pip con: pip --version Método del instalador de Python para instalar pip Asegúrate de marcar la casilla de pip durante la instalación de Python. Así es cómo hacerlo: Paso 1: Descargar el instalador Abre tu navegador preferido, visita el sitio web oficial de Python y descarga el archivo de instalación más reciente. Paso 2: Ejecutar el instalador Ejecuta el instalador descargado y asegúrate de seleccionar la opción “Add Python to PATH” durante la configuración. Paso 3: Instalar pip Durante el proceso de instalación, no olvides habilitar la opción “Install pip”. Paso 4: Validar que pip esté instalado Una vez finalizada la instalación, verifica la instalación de pip con: pip --version Ajustar la versión de pip: actualizar o revertir pip se puede ajustar a tus necesidades actualizándolo o instalando una versión anterior. Así es cómo hacerlo: Actualizar pip Para actualizar pip, ejecuta: python -m pip install --upgrade pip Revertir pip Para regresar a una versión anterior de pip, usa: python -m pip install pip==<version> Reemplaza <version> con el número de versión deseado (por ejemplo, 21.0). Solución de problemas de instalación de pip: comandos esenciales A continuación, se presentan problemas comunes al instalar pip y sus soluciones: Problema 1: “pip” no se reconoce como un comando interno o externo Solución: Esto significa que la ruta de pip no está configurada en la variable PATH del sistema. Simplemente sigue las instrucciones del “Paso 5” para corregirlo. Problema 2: Permiso denegado Solución: Ejecuta el símbolo del sistema con privilegios de administrador haciendo clic derecho sobre el icono y eligiendo “Ejecutar como administrador”. Luego, vuelve a ejecutar los comandos. Problema 3: Dependencias faltantes Solución: A veces surgen errores debido a dependencias faltantes. Para solucionarlo, instala manualmente las dependencias necesarias con pip. Por ejemplo: pip install package_name Reemplaza package_name con la dependencia correspondiente. Uso de entornos virtuales El uso de entornos virtuales mantiene las dependencias separadas y evita conflictos. Así es cómo usar un entorno virtual con pip: Crear un entorno virtual python -m venv env_name Reemplaza env_name con el nombre que desees para tu entorno. Activar el entorno virtual env_name\Scripts\activate Comandos básicos de pip A continuación, algunos comandos esenciales de pip: Instalar un paquete pip install package_name Reemplaza package_name con el nombre del paquete que deseas instalar. Desinstalar un paquete pip uninstall package_name Mostrar paquetes instalados pip list Mostrar información de un paquete pip show package_name Mejores prácticas para la gestión de paquetes Usa entornos virtuales para gestionar dependencias de manera eficiente en múltiples proyectos. Revisa y actualiza tus paquetes con regularidad para garantizar un funcionamiento óptimo. Prepara archivos requirements para facilitar la gestión de dependencias en tus proyectos. Asegurar la instalación de pip Garantizar la seguridad de los paquetes gestionados por pip es fundamental. Aquí tienes algunos consejos para mantener tu entorno seguro: Mantén los proyectos aislados para evitar conflictos y garantizar instalaciones seguras. Verifica la confiabilidad y autenticidad de las fuentes de paquetes antes de instalarlas. Utiliza siempre repositorios oficiales y revisa los comentarios disponibles. Actualiza periódicamente pip y tus paquetes para mantenerte protegido con los últimos parches de seguridad. Revisa tus dependencias en busca de vulnerabilidades conocidas. Herramientas como pip-audit pueden ayudarte a detectarlas y corregirlas. Sigue estándares de codificación segura y evita el uso de paquetes obsoletos o inseguros. Integración de pip con IDEs pip se puede integrar fácilmente en diversos Entornos de Desarrollo Integrado (IDE), lo que mejora significativamente tu eficiencia de desarrollo: VS Code: Usa la terminal integrada para ejecutar comandos pip y gestionar paquetes directamente dentro del editor. PyCharm: Optimiza la gestión de paquetes configurando pip mediante el intérprete del proyecto. Esto simplifica el proceso de instalación y administración de paquetes adaptados a las necesidades específicas de tu proyecto. Jupyter Notebook: Utiliza comandos mágicos dentro de la interfaz del notebook para instalar paquetes directamente. Esto ofrece una experiencia fluida e integrada para gestionar dependencias mientras trabajas en tus notebooks interactivos.  Conclusión Windows ofrece varios métodos para instalar pip, según tus preferencias y necesidades. Ya sea que elijas el script .py, utilices el módulo integrado ensurepip o habilites pip durante la instalación inicial, cualquiera de estos métodos garantizará que pip esté correctamente configurado en tu sistema. Recuerda que mantener pip actualizado es esencial para garantizar la seguridad y eficiencia de tu entorno Python. Revisa periódicamente las actualizaciones y mantén pip al día. Además, en nuestra Application Platform puedes encontrar aplicaciones Python como Celery, Django, FastAPI y Flask.
24 October 2025 · 7 min to read

¿Tienes preguntas,
comentarios o inquietudes?

Nuestros profesionales están disponibles para asistirte en cualquier momento,
ya sea que necesites ayuda o no sepas por dónde empezar.
Hostman's Support