Login
Login

Como usar time.sleep() em Python

Como usar time.sleep() em Python
Hostman Team
Redator técnico
Programação Python
14.10.2025
Reading time: 8 min

Às vezes, durante a execução de um programa, é necessário fazer uma pausa: aguardar o carregamento de dados, dar tempo para o usuário inserir uma entrada ou reduzir a carga no sistema. Uma das maneiras mais simples de fazer isso em Python é com a função time.sleep(), que suspende a execução do programa por um intervalo de tempo especificado.

Neste artigo, veremos como o time.sleep() funciona em Python, seus recursos e alternativas, erros comuns e quando é mais adequado usar asyncio.sleep() ou outros mecanismos de espera — especialmente em programas multithread e assíncronos.

O que é a função sleep() em Python?

A função sleep() faz parte da biblioteca padrão do Python e foi criada para facilitar a criação de pausas no código. Ela pertence ao módulo time e é chamada como time.sleep(), permitindo suspender temporariamente a execução do programa por um determinado número de segundos.

Na prática, sleep() é útil para testes, intervalos entre requisições de API ou pausas entre mensagens. No entanto, ela não deve ser usada para tarefas de sincronização de threads ou situações que exigem controle preciso de tempo — existem ferramentas mais adequadas para isso.

Como time.sleep() funciona

A função time.sleep() pausa a thread atual pelo número de segundos especificado. Em um programa multithread, outras threads continuam rodando, enquanto aquela em que time.sleep() foi chamada permanece “congelada” durante o intervalo.

Importante: time.sleep() bloqueia a execução do código naquele ponto, atrasando todas as operações seguintes. Usá-la de forma incorreta pode causar perda de desempenho ou até congelar a interface de um aplicativo desktop.

Quando usar time.sleep()

time.sleep() é usada principalmente em testes e depuração, quando é necessário adicionar um pequeno atraso — por exemplo, para verificar a resposta de uma API ou aguardar o retorno de um servidor. Também é usada para executar scripts passo a passo, dando tempo para o usuário visualizar informações ou inserir dados.

Em demonstrações, tutoriais e prototipagem, time.sleep() ajuda a simular processos demorados. Quando usada com serviços externos, evita punições ou bloqueios por excesso de requisições. Mas ela não é a única maneira de pausar a execução de um programa — veja outras alternativas a seguir.

Como usar time.sleep() em Python

Usar time.sleep() em Python é muito simples, até mesmo para iniciantes. Mas entender seus detalhes é importante, pois eles podem afetar o desempenho ou o comportamento do programa.

Sintaxe básica

Para usar a função, primeiro importe o módulo time:

import time
time.sleep(5)

Neste exemplo, o programa “dorme” por 5 segundos. O número passado pode ser inteiro ou decimal, permitindo pausas de frações de segundo.

Sintaxe:

time.sleep(seconds)

A função não retorna nenhum valor — ela apenas suspende a execução da thread atual pelo tempo indicado.

Exemplo: atraso na execução do código

Um pequeno script que imprime mensagens com um intervalo de 2 segundos:

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

Durante a execução, o usuário verá uma pausa de 2 segundos entre cada mensagem. É exatamente assim que um atraso funciona em Python com time.sleep(2).

Parâmetros de time.sleep()

A função aceita apenas um parâmetro, mas ele pode ser um inteiro ou um float. Isso permite flexibilidade na definição das pausas.

Valor em segundos

O uso mais comum é passar um número inteiro representando segundos:

time.sleep(10)

O script pausa por 10 segundos, útil para intervalos longos ou para limitar a frequência de solicitações.

Frações de segundo (milissegundos)

Quando é necessária uma pausa mais curta, use um número decimal:

time.sleep(0.5)

Isso cria uma pausa de meio segundo. Devido a limitações do sistema operacional e do temporizador interno do Python, o atraso pode ser ligeiramente superior a 500 ms. Para sistemas em tempo real, é melhor usar temporizadores especializados.

Formas alternativas de pausar em Python

Embora time.sleep() seja a maneira mais popular e simples, existem outras opções mais adequadas em determinados contextos, como ao lidar com eventos externos ou múltiplas threads.

1. Usar input() para aguardar

O método mais simples para parar um programa é com input(). Ele pausa a execução até que o usuário pressione Enter ou insira algum texto.

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

Tecnicamente, não é um atraso temporizado, mas uma espera por ação do usuário. É útil durante depuração ou em scripts interativos.

2. Usar threading.Event()

Em programas multithread, é possível usar objetos de sincronização como threading.Event(), que bloqueiam uma thread até que um sinal seja recebido.

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()

Nesse caso, a thread fica bloqueada até a chamada de event.set(). Essa abordagem é mais flexível, pois permite “acordar” a thread a qualquer momento.

3. asyncio.sleep() para programas assíncronos

Em programas assíncronos (módulo asyncio), usa-se asyncio.sleep(). Diferente de time.sleep(), ela não bloqueia a thread inteira, apenas a corrotina atual, permitindo que o event loop continue executando outras tarefas.

import asyncio

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

asyncio.run(main())

Isso é especialmente útil quando várias funções assíncronas precisam ser executadas em paralelo. Usar time.sleep() nesse contexto bloquearia todo o event loop.

Problemas comuns com time.sleep()

Apesar de simples, time.sleep() pode causar bloqueios ou atrasos indesejados se usada incorretamente. Compreender seus efeitos é essencial para evitar problemas de desempenho.

Bloqueio da thread principal

time.sleep() bloqueia a thread em que é chamada. Se for usada na thread principal de um aplicativo com interface gráfica (como Tkinter ou PyQt), a interface pode travar.

💡 Dica:
Use time.sleep() apenas em threads secundárias ou substitua por asyncio.sleep() para evitar bloqueios. Em aplicações gráficas, prefira temporizadores como QTimer ou after().

Uso em código multithread e assíncrono

Em programas multithread, time.sleep() pode ser chamada independentemente em cada thread, mas não libera automaticamente o Global Interpreter Lock (GIL). A execução simultânea de outras threads depende do agendador de threads do sistema operacional.

Em código assíncrono, evite chamar time.sleep() dentro de um loop de eventos (asyncio.run()), pois isso bloqueia toda a execução. Use asyncio.sleep(), que entrega o controle de volta ao agendador, permitindo que outras corrotinas rodem em paralelo.

Exemplo prático: consultas periódicas a uma API

Imagine um script que precisa consultar uma API externa, mas as regras impõem no máximo uma requisição a cada 30 segundos.

Solução com time.sleep():

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

Após cada requisição, o script pausa 30 segundos, respeitando o limite de frequência.

Alternativa assí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())

Essa versão não bloqueia o programa inteiro, permitindo que outras tarefas sejam executadas simultaneamente. É uma solução mais eficiente e escalável.

Conclusão

Gerenciar pausas e atrasos é uma parte importante do desenvolvimento em Python. time.sleep() é a ferramenta mais simples e intuitiva, mas a escolha entre time.sleep(), asyncio.sleep() e outras opções deve depender da arquitetura do projeto.

Recomendações principais:

  • Use time.sleep() para atrasos curtos em testes, entre requisições ou em demonstrações.

  • Evite bloquear a thread principal em aplicações com interface gráfica.

  • Em código assíncrono, substitua por asyncio.sleep() para manter o loop eficiente.

  • Em programas multithread, lembre-se de que apenas a thread atual pausa.

  • Use threading.Event() ou input() para aguardar eventos ou ações do usuário.
Programação Python
14.10.2025
Reading time: 8 min

Semelhante

Programação Python

Como instalar o pip no Windows

pip é uma ferramenta que torna a instalação e o gerenciamento de pacotes Python uma tarefa simples. De iniciantes em Python a desenvolvedores experientes, ter essa ferramenta no seu computador com Windows é uma verdadeira mudança de jogo. Ela facilita a configuração de frameworks e bibliotecas essenciais para suas necessidades de desenvolvimento. Automatizar o gerenciamento de pacotes com o pip economiza tempo e reduz as complicações associadas às instalações manuais. Siga este guia para aprender a configurar o pip e gerenciar seus pacotes Python de forma eficiente. Processo de configuração do pip no Windows Aqui estão as etapas para configurar o pip em um computador com Windows. Etapa 1: Confirmar a instalação Verifique se o Python está funcionando no seu dispositivo antes de iniciar a configuração do pip. Para fazer isso, abra o prompt de comando e execute: python --version   Se o Python não estiver instalado no seu sistema, baixe-o no site oficial. Etapa 2: Baixar o get-pip.py O pacote de instalação padrão do Python inclui o pip automaticamente. No entanto, caso ele tenha sido removido por engano, baixe o script get-pip.py. Você tem duas opções: visitar a página do pip.py ou usar o comando curl para uma instalação rápida: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Observação: reinstalar o Python para obter o pip também é uma opção. No entanto, isso pode causar conflitos com outras dependências ou configurações. Com este script, sua configuração atual do Python permanece inalterada. Etapa 3: Executar o get-pip.py Acesse o local do script através do prompt de comando e execute: python get-pip.py Isso instalará o pip no seu dispositivo sem problemas. Etapa 4: Confirmar a instalação do pip Valide a instalação executando: pip --version Este comando confirma que o pip está instalado no sistema. Etapa 5: Adicionar o pip à variável PATH do sistema Se o comando não for executado corretamente, atualize a variável PATH do sistema seguindo estas instruções para incluir o pip: Clique com o botão direito em Este Computador ou Meu Computador e selecione Propriedades. Escolha Configurações avançadas do sistema. Selecione Variáveis de ambiente. Em Variáveis do sistema, localize a variável Path e clique em Editar. Adicione o diretório Scripts do Python ao PATH do sistema, por exemplo: C:\Python39\Scripts. Métodos alternativos para instalar o pip no Windows Vamos explorar algumas outras maneiras de instalar o pip facilmente no Windows. Usando o módulo integrado ensurepip A partir do Python 3.4, existe um módulo integrado chamado ensurepip. Com essa ferramenta, a instalação do pip é simplificada, eliminando a necessidade do script get-pip.py. Etapa 1: Executar o ensurepip Digite o comando abaixo para configurar o pip: python -m ensurepip --default-pip Etapa 2: Verificar a instalação do pip Verifique a versão do pip com: pip --version Método do instalador do Python para instalar o pip Certifique-se de marcar a opção de instalação do pip durante a configuração do Python. Veja como fazer: Etapa 1: Baixar o instalador Abra seu navegador preferido, acesse o site oficial do Python e baixe o arquivo de instalação mais recente. Etapa 2: Executar o instalador Execute o instalador baixado e certifique-se de selecionar a opção “Add Python to PATH” durante a configuração. Etapa 3: Instalar o pip Durante o processo de instalação, marque a opção “Install pip”. Etapa 4: Confirmar que o pip foi instalado Quando a instalação for concluída, verifique se o pip foi instalado com: pip --version Ajustar a versão do pip: atualizar ou reverter O pip pode ser ajustado conforme suas necessidades, seja atualizando-o ou revertendo para uma versão anterior. Veja como fazer: Atualizar o pip Para atualizar o pip, execute: python -m pip install --upgrade pip Reverter o pip Para voltar a uma versão anterior do pip, use: python -m pip install pip==<version> Substitua <version> pelo número da versão desejada (por exemplo, 21.0). Resolvendo problemas de instalação do pip: comandos essenciais A seguir, estão os problemas mais comuns de instalação do pip e suas soluções: Problema 1: “pip” não é reconhecido como um comando interno ou externo Solução: isso significa que o caminho do pip não está definido no PATH do sistema. Siga as instruções da “Etapa 5” para corrigir o problema. Problema 2: Permissão negada Solução: execute o prompt de comando como administrador clicando com o botão direito no ícone e escolhendo “Executar como administrador”. Em seguida, execute os comandos novamente. Problema 3: Dependências ausentes Solução: às vezes, ocorrem erros devido a dependências ausentes. Para corrigir isso, instale manualmente as dependências necessárias usando o pip. Exemplo: pip install package_name Substitua package_name pela dependência apropriada. Usando ambientes virtuais Usar ambientes virtuais mantém as dependências separadas e evita conflitos. Veja como usar um ambiente virtual com o pip: Criar um ambiente virtual python -m venv env_name Substitua env_name pelo nome desejado do seu ambiente. Ativar o ambiente virtual env_name\Scripts\activate Comandos básicos do pip Aqui estão alguns comandos essenciais do pip: Instalar um pacote pip install package_name Substitua package_name pelo nome do pacote que você deseja instalar. Desinstalar um pacote pip uninstall package_name Exibir pacotes instalados pip list Exibir informações de um pacote pip show package_name Melhores práticas para o gerenciamento de pacotes Use ambientes virtuais para gerenciar dependências de forma eficiente em vários projetos. Verifique e atualize seus pacotes regularmente para garantir o bom funcionamento. Crie arquivos requirements para simplificar o gerenciamento de dependências nos seus projetos. Garantindo uma instalação segura do pip Garantir a segurança dos pacotes gerenciados pelo pip é fundamental. Aqui estão algumas dicas para manter seu ambiente seguro: Mantenha os projetos isolados para evitar conflitos e garantir instalações seguras. Verifique a confiabilidade e a autenticidade das fontes dos pacotes antes de instalá-los. Sempre use repositórios oficiais e leia as avaliações, se disponíveis. Atualize regularmente o pip e seus pacotes para se manter protegido com as últimas correções de segurança. Revise suas dependências periodicamente para identificar vulnerabilidades conhecidas. Ferramentas como pip-audit podem ajudar a detectá-las e resolvê-las. Siga práticas seguras de codificação e evite pacotes obsoletos ou inseguros. Integração do pip com IDEs O pip pode ser facilmente integrado a diversos Ambientes de Desenvolvimento Integrado (IDEs), aumentando significativamente sua produtividade no desenvolvimento: VS Code: use o terminal integrado para executar comandos pip e gerenciar pacotes diretamente no editor. PyCharm: otimize o gerenciamento de pacotes configurando o pip pelo interpretador do projeto. Isso simplifica o processo de instalação e gerenciamento de pacotes de acordo com as necessidades específicas do seu projeto. Jupyter Notebook: utilize comandos mágicos dentro da interface do notebook para instalar pacotes diretamente. Isso oferece uma experiência integrada e fluida para gerenciar dependências enquanto você trabalha em notebooks interativos.  Conclusão O Windows oferece diversos métodos para instalar o pip, de acordo com suas preferências e necessidades. Seja usando o script .py, o módulo integrado ensurepip ou ativando o pip durante a instalação inicial, todos esses métodos garantem que o pip seja configurado corretamente no seu sistema. Lembre-se de manter o pip atualizado para garantir a segurança e a eficiência do seu ambiente Python. Verifique regularmente por atualizações e mantenha o pip sempre na versão mais recente. Além disso, em nossa Application Platform, você pode encontrar aplicativos Python como Celery, Django, FastAPI e Flask.
24 October 2025 · 8 min to read

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support