Sintaxe
O exemplo a seguir mostra o uso simples da função sleep () para interromper a execução do programa no meio do script por um determinado período. O script lerá e imprimirá o valor da hora atual do sistema, esperará 5 segundos na função sleep () e novamente lerá e imprimirá a hora atual do sistema. Aqui, as funções localtime () e time () são usadas para ler a data e hora do sistema atual, e a função strftime () é usada para imprimir a hora formatada.
#!/ usr / bin / env python3# Módulo de tempo de importação
tempo de importação
# Leia a data e hora atuais
agora = hora.hora local (hora.Tempo())
# Imprimir hora de início
imprimir (tempo.strftime ("A hora de início:% H:% M:% S", agora))
# Aguarde 5 segundos
imprimir ("Esperando 5 segundos ...")
Tempo.dormir (5)
# Leia a data e hora atuais
agora = hora.hora local (hora.Tempo())
# Imprimir hora de término
imprimir (tempo.strftime ("A hora de término:% H:% M:% S", agora))
Resultado
A seguinte saída aparecerá após a execução do script acima. A saída mostra que a duração entre a hora de início e a hora de término é de 5 segundos, usando a função sleep ().
Exemplo 2: Criar um contador de tempo usando sleep ()
O exemplo a seguir mostra como criar facilmente um contador de tempo por meio do método sleep (). O script levará um número em segundos para inicializar a variável do contador de tempo. Três módulos são importados aqui. O data hora módulo é importado para definir o valor de tempo inicial. O Tempo módulo é importado para usar a função sleep (). O sys o módulo é usado para encerrar o loop while infinito quando o valor do contador é igual ao valor do contador de tempo. Quatro variáveis são usadas no script para inicializar as variáveis de hora, minuto, segundo e contador para definir a hora de início do contador de tempo. Aqui, a função sleep () irá esperar por um segundo em cada iteração do loop e então imprimir o valor do contador de tempo.
#!/ usr / bin / env python3# Importar módulo datetime
importar data e hora
# Módulo de tempo de importação
tempo de importação
# Módulo de importação sys
import sys
# Pegue o número de segundos para contar
timer = int (input ("Definir o valor do contador em segundos:"))
# Inicializar a hora e o valor do contador para 0
hora = minuto = segundo = contador = 0
# Imprime o valor do cronômetro inicial
imprimir (data e hora.tempo (hora, minuto, segundo))
tentar:
# Definir loop infinito
enquanto verdadeiro:
# Atraso por 1 segundo
Tempo.dormir (1)
# Incrementa o contador em 1
contador = contador + 1
# Incrementa segundo em 1
segundo = segundo + 1
# Imprime o valor atual do cronômetro
imprimir (data e hora.tempo (hora, minuto, segundo))
# Defina o segundo valor para 0 quando o valor for maior que 60
se segundo> 60:
minuto = minuto + 1
segundo = 0
# Defina o valor do minuto para 0 quando o valor for superior a 60
se minuto> 60:
hora = hora + 1
minuto = 0
# Terminar o loop quando o valor do contador for igual ao valor do temporizador
se contador == temporizador:
print ("Tempo terminado.")
pausa
exceto KeyboardInterrupt:
# Encerra o script quando Ctrl + C é pressionado
sys.saída
Resultado
A seguinte saída aparecerá após a execução do script.
Exemplo 3: Imprimir cada caractere de uma string com um atraso
Se você deseja exibir cada caractere de um texto com algum atraso na saída, você pode aplicar a função sleep () no script. Uma tarefa semelhante é mostrada no seguinte script. Aqui, um valor de texto é considerado como entrada. Cada caractere do texto é iterado usando o loop e a função irá esperar por 0.4 segundos antes da impressão.
#!/ usr / bin / env python3# módulo de tempo de importação
tempo de importação
# Pegue um valor de string
name = input ("Digite seu nome:")
# Repita o loop para ler cada caractere da string
para val em nome:
# Imprime cada caractere sem nova linha
imprimir (val, fim = ")
# Espere por 0.4 segundos após imprimir cada caractere
Tempo.dormir (0.4)
Resultado
Execute o script. Você entenderá a saída corretamente depois de executar o script.
Exemplo 4: Uso de sleep () em Script Multi-Threaded
O exemplo a seguir mostra o uso da função sleep () no script Python multithread. Dois módulos são importados aqui: o módulo de tempo para usar a função sleep () e o módulo de threading para criar vários threads. Duas funções personalizadas são usadas no script. Uma mensagem de texto será impressa e aguardará 0.5 segundos por três vezes dentro do loop for quando o primeiro thread começa. Uma mensagem de texto será impressa e aguardará 1 segundo por quatro vezes dentro do loop for quando o segundo thread começa.
#!/ usr / bin / env python3# módulo de tempo de importação
tempo de importação
# Importar módulo de threading
importar threading
# Defina a primeira função de thread
def prn_message_1 ():
para n no intervalo (3):
imprimir ("Imprimir mensagem do tópico 1")
Tempo.dormir (0.5)
# Defina a segunda função de thread
def prn_message_2 ():
para n no intervalo (4):
imprimir ("Imprimir mensagem do tópico 2")
Tempo.dormir (1)
# Defina a primeira função de thread
thread1 = threading.Tópico (alvo = prn_message_1)
# Inicie a primeira função de thread
thread1.começar()
# Defina a segunda função de thread
thread2 = threading.Tópico (target = prn_message_2)
# Iniciar a segunda função de thread
thread2.começar()
Resultado
A seguinte saída aparecerá após a execução do script. Depois de iniciar o primeiro encadeamento, o segundo encadeamento começa e espera até a conclusão por 1 segundo. Durante este tempo, o loop do primeiro thread é concluído nas duas últimas iterações. As últimas três saídas apareceram para o loop do segundo thread.
Conclusão
A função sleep () é usada para resolver muitos tipos diferentes de problemas relacionados ao tempo em Python. Vários usos deste método são explicados usando exemplos muito fáceis aqui para ajudar o leitor a conhecer as funções desta ferramenta. Eu acredito que você ou qualquer outro usuário Python será capaz de usar este método corretamente após praticar os exemplos incluídos neste tutorial.