Dormir milissegundos em Python
Neste tutorial, veremos vários métodos para pausar ou suspender a execução de um programa por um determinado período de tempo em Python. Suponha que queremos pausar a execução do programa por alguns segundos para permitir que o usuário leia as instruções sobre a próxima etapa do programa. Precisamos de algum método para dizer ao programa para dormir por um número específico de segundos ou milissegundos. Também discutiremos um método para fazer o programa chamar uma função fornecida após um intervalo de tempo específico sem pausar ou suspender a execução do programa
Podemos usar os seguintes métodos para pausar ou suspender a execução do programa por um determinado período de tempo em Python.
Python Sleep usando o método time.sleep()
O método time.sleep(secs)
pausa ou suspende a execução do thread de chamada pelo número de segundos fornecido no argumento secs
. Portanto, precisamos chamar o método time.sleep()
para fazer o programa hibernar por um tempo específico.
O código de exemplo a seguir demonstra como usar o método time.sleep()
para fazer o programa hibernar por um determinado número de segundos.
import time
time.sleep(1.5)
print("1.5 seconds have passed")
Para fazer o programa pausar por milissegundos, precisaremos dividir a entrada por 1000
, mostrado no código de exemplo abaixo:
import time
time.sleep(400 / 1000)
print("400 milliseconds have passed")
Python Sleep usando o método threading.Timer()
O método threading.Timer(interval, function, args, kwargs)
espera o tempo igual a interval
segundos e então chama a function
com argumentos args
e argumentos de palavra-chave kwargs
se fornecidos.
Se quisermos que o programa espere por um tempo específico e então chame a função, o método threading.Timer()
será útil. O código de exemplo a seguir demonstra como usar o método threading.Timer()
para fazer o programa esperar por interval
segundos antes de executar alguma tarefa.
from threading import Timer
def nextfunction():
print("Next function is called!")
t = Timer(0.5, nextfunction)
t.start()
threading.Timer()
não pausa a execução do programa, ele cria um encadeamento timer
que chama a função após o interval
fornecido ter passado.