Python time sleep()

Olá a todos, espero que estejam aprendendo bem o Python. Neste tutorial, vamos aprender sobre o método sleep() em Python. A função sleep do Python pertence ao módulo python time, que já foi discutido anteriormente

Python time sleep

. A função sleep do Python é usada para adicionar um atraso na execução de um programa. Podemos usar a função sleep do Python para interromper a execução do programa por um determinado tempo em segundos. Observe que a função sleep do Python realmente para a execução apenas da thread atual, não do programa inteiro.

Sintaxe da função Python time sleep()

O sleep() em Python é um método do módulo time do Python. Portanto, primeiro precisamos importar o módulo time e depois podemos usar este método. A forma de usar a função sleep() em Python é: Aqui, o argumento do método sleep() t está em segundos. Isso significa que, quando a declaração time.sleep(t) é executada, a próxima linha de código será executada após t segundos. Veja o exemplo a seguir:

# importando o módulo time
import time

print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")

Se você executar o código acima, verá que a segunda impressão é executada após 5 segundos. Portanto, você pode atrasar o código conforme necessário. O argumento pode ser um valor flutuante também para ter um atraso mais preciso. Por exemplo, se você deseja um atraso de 100 milissegundos, que é 0,1 segundos, como a seguir:

import time
time.sleep(0.100)

Exemplo de sleep em Python

Vamos ver o seguinte exemplo da função de sleep do Python.

import time
startTime = time.time()
for i in range(0,5):
   print(i)
   # fazendo um atraso de 1 segundo 
   time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)

Isso resultará em:

0
1
2
3
4
Elapsed Time = 5.059988975524902

O tempo decorrido é maior que 5 porque a execução é interrompida por 1 segundo a cada vez no loop for. O tempo extra ocorre devido ao tempo de execução do programa, agendamento de thread do sistema operacional, etc.

Diferentes tempos de atraso do sleep() em Python

Às vezes, pode ser necessário um atraso por diferentes segundos. Você pode fazer assim:

import time

for i in [ .5, .1, 1, 2]:
   print("Waiting for %s" % i , end='')
   print(" seconds")
   time.sleep(i)

Isso resultará em:

Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds

Impressão dramática usando sleep()

Pode ser necessário imprimir algumas mensagens de forma dramática, você pode fazê-lo da seguinte maneira:

# importando o módulo de tempo
import time
message = "Hi!!! I am trying to create suspense"

for i in message:
   # imprimindo cada caractere da mensagem
   print(i)
   time.sleep(0.3)

Se você executar o código acima, verá que após imprimir cada caractere da mensagem, ele leva algum tempo, o que parece dramático.

Python thread sleep

A função de sleep() do tempo do Python é um método muito importante para multithreading. Abaixo está um exemplo simples que mostra que a função de sleep do tempo do Python interrompe a execução do thread atual apenas na programação multithread.

import time
from threading import Thread


class Worker(Thread):
    def run(self):
        for x in range(0, 11):
            print(x)
            time.sleep(1)


class Waiter(Thread):
    def run(self):
        for x in range(100, 103):
            print(x)
            time.sleep(5)


print("Staring Worker Thread")
Worker().start()
print("Starting Waiter Thread")
Waiter().start()
print("Done")

A imagem abaixo mostra a saída produzida pelo exemplo de sleep do thread do Python acima. A partir da saída, fica muito claro que apenas os threads estão sendo interrompidos da execução e não o programa inteiro pela função de sleep do tempo do Python. Isso é tudo sobre a função de sleep do tempo do Python ou função de sleep do Python. Referência: Post do StackOverFlow, Documento da API

Source:
https://www.digitalocean.com/community/tutorials/python-time-sleep