Ciao a tutti, spero che stiate imparando bene Python. In questo tutorial impareremo il metodo sleep() di Python. La funzione sleep di Python appartiene al modulo time di Python che è stato già discusso in precedenza.
Python time sleep
La funzione sleep di Python viene utilizzata per aggiungere un ritardo nell’esecuzione di un programma. Possiamo utilizzare la funzione sleep di Python per mettere in pausa l’esecuzione del programma per un determinato tempo in secondi. Nota che la funzione sleep di Python in realtà ferma l’esecuzione solo del thread corrente, non di tutto il programma.
Sintassi della funzione sleep() di Python
sleep() di Python è un metodo del modulo time di Python. Quindi, prima dobbiamo importare il modulo time e poi possiamo utilizzare questo metodo. Il modo di utilizzare la funzione sleep() di Python è: Qui l’argomento del metodo sleep() t è in secondi. Ciò significa che quando viene eseguita l’istruzione time.sleep(t), la riga successiva di codice verrà eseguita dopo t secondi. Vediamo l’esempio seguente:
# importiamo il modulo time
import time
print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")
Se esegui il codice precedente, vedrai che il secondo print viene eseguito dopo 5 secondi. Quindi puoi fare un ritardo nel tuo codice come necessario. L’argomento può essere anche un valore in virgola mobile per avere un ritardo più preciso. Ad esempio, se vuoi fare un ritardo di 100 millisecondi, che corrisponde a 0,1 secondi, puoi farlo come segue:
import time
time.sleep(0.100)
Esempio di sleep in Python
Vediamo l’esempio seguente della funzione sleep di Python.
import time
startTime = time.time()
for i in range(0,5):
print(i)
# fare un ritardo di 1 secondo
time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)
Questo darà in output:
0
1
2
3
4
Elapsed Time = 5.059988975524902
Il tempo trascorso è maggiore di 5 perché ogni volta nel ciclo for, l’esecuzione viene interrotta per 1 secondo. Il tempo extra è dovuto al tempo di esecuzione del programma, alla pianificazione dei thread del sistema operativo, ecc.
Tempo di ritardo diverso di sleep() in Python
A volte potresti aver bisogno di ritardare per diversi secondi. Puoi farlo come segue:
import time
for i in [ .5, .1, 1, 2]:
print("Waiting for %s" % i , end='')
print(" seconds")
time.sleep(i)
Questo darà in output:
Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds
Stampa drammatica usando sleep()
Potresti dover stampare alcuni messaggi in modo drammatico, puoi farlo come segue:
# import del modulo time
import time
message = "Hi!!! I am trying to create suspense"
for i in message:
# stampa di ogni carattere del messaggio
print(i)
time.sleep(0.3)
Se esegui il codice sopra, vedrai che dopo aver stampato ogni carattere del messaggio ci vuole del tempo, il che sembra drammatico.
Python thread sleep
La funzione sleep() di Python è un metodo molto importante per il multithreading. Di seguito è riportato un esempio semplice che mostra come la funzione sleep di Python interrompa l’esecuzione del thread corrente solo nella programmazione 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")
L’immagine sottostante mostra l’output prodotto dall’esempio di sleep del thread Python sopra. Dall’output è molto chiaro che solo i thread vengono fermati dall’esecuzione e non l’intero programma tramite la funzione sleep di Python. Questo è tutto sulla funzione sleep di Python o sulla funzione sleep di Python. Riferimento: Post di StackOverFlow, Documentazione API
Source:
https://www.digitalocean.com/community/tutorials/python-time-sleep