Dormire in millisecondi in Python
In questo tutorial, esamineremo vari metodi per mettere in pausa o sospendere l’esecuzione di un programma per un determinato periodo di tempo in Python. Supponiamo di voler mettere in pausa l’esecuzione del programma per alcuni secondi per consentire all’utente di leggere le istruzioni sul passaggio successivo del programma. Abbiamo bisogno di un metodo per dire al programma di andare a dormire per un numero specifico di secondi o millisecondi. Discuteremo anche un metodo per fare in modo che il programma chiami una funzione fornita dopo un intervallo di tempo specifico senza mettere in pausa o sospendere l’esecuzione del programma
Possiamo usare i seguenti metodi per mettere in pausa o sospendere l’esecuzione del programma per un dato periodo di tempo in Python.
Python Sleep usando il metodo time.sleep()
Il metodo time.sleep(secs)
mette in pausa o sospende l’esecuzione del thread chiamante per il numero di secondi fornito nell’argomento secs
. Pertanto, abbiamo bisogno di chiamare il metodo time.sleep()
per fare in modo che il programma vada a dormire per un tempo specifico.
Il codice di esempio sotto mostra come usare il metodo time.sleep()
per far dormire il programma per un dato numero di secondi.
import time
time.sleep(1.5)
print("1.5 seconds have passed")
Per mettere in pausa il programma per millisecondi, dovremo dividere l’input per 1000
, mostrato nel codice di esempio seguente:
import time
time.sleep(400 / 1000)
print("400 milliseconds have passed")
Python Sleep Utilizzando il metodo threading.Timer()
Il metodo threading.Timer(interval, function, args, kwargs)
attende un tempo pari a interval
secondi e poi chiama la function
con argomenti args
e argomenti parola chiave kwargs
se forniti.
Se vogliamo che il programma attenda un tempo specifico e poi chiami la funzione, il metodo threading.Timer()
sarà utile. Il codice di esempio sotto mostra come usare il metodo threading.Timer()
per far aspettare al programma interval
secondi prima di eseguire qualche operazione.
from threading import Timer
def nextfunction():
print("Next function is called!")
t = Timer(0.5, nextfunction)
t.start()
threading.Timer()
non sospende l’esecuzione del programma, crea un thread timer
che chiama la funzione dopo che è trascorso l’interval
fornito.