Pitão

Usando o método sleep () do Python

Usando o método sleep () do Python
Se você deseja definir um atraso de tempo antes de executar qualquer script, você pode usar o dormir() função que é integrada ao Python. Este método existe sob o Tempo módulo. Geralmente, a função sleep () é usada para interromper a execução do programa por um determinado período de tempo (em segundos). Por exemplo, se você estiver baixando um arquivo de um local usando um script que pode exigir um certo período de tempo, você pode usar o método sleep () para informar ao usuário para esperar. Este tutorial mostrará alguns dos diferentes usos da função sleep () no Python 3.

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.

Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...
Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...
Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...