Hello everyone, hope you are learning python well. In this tutorial we will learn about python time sleep() method. Python sleep function belongs to the python time module that is already discussed earlier
Python time sleep function is used to add delay in the execution of a program. We can use python sleep function to halt the execution of the program for given time in seconds. Notice that python time sleep function actually stops the execution of current thread only, not the whole program.
Python sleep() is a method of python time module. So, first we have to import the time module then we can use this method. Way of using python sleep() function is: Here the argument of the sleep() method t is in seconds. That means, when the statement time.sleep(t) is executed then the next line of code will be executed after t seconds. See the following example:
# importing time module
import time
print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")
If you run the above code then you will see that the second print executes after 5 seconds. So you can make delay in your code as necessary. The argument can be in floating value also to have more precise delay. For example you want to make delay for 100 milliseconds which is 0.1 seconds, as following:
import time
time.sleep(0.100)
Let’s see the following example of python time sleep function.
import time
startTime = time.time()
for i in range(0,5):
print(i)
# making delay for 1 second
time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)
This will output:
0
1
2
3
4
Elapsed Time = 5.059988975524902
Elapsed time is greater than 5 because each time in the for loop, execution is halted for 1 second. The extra time is because of the execution time of the program, operating system thread scheduling etc.
Sometimes you may need to delay for different seconds of time. You can do it as follows:
import time
for i in [ .5, .1, 1, 2]:
print("Waiting for %s" % i , end='')
print(" seconds")
time.sleep(i)
This will output:
Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds
You may need to print some message in a dramatic way, you can do it as following:
# importing time module
import time
message = "Hi!!! I am trying to create suspense"
for i in message:
# printing each character of the message
print(i)
time.sleep(0.3)
If you run the above code then, you will see that after printing every character of the message it’s taking some time, which seems like dramatic.
Python time sleep() function is very important method for multithreading. Below is a simple example showing that the python time sleep function halts the execution of current thread only in multithreaded programming.
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")
Below image shows the output produced by above python thread sleep example. From the output it’s very clear that only the threads are being stopped from execution and not the whole program by python time sleep function. That’s all about python time sleep function or python sleep function. Reference: StackOverFlow Post, API Doc
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Awesome tutorial!
- Mika Kaakinen
That was an awesome, concise and clear explanation! Thanks very much!
- Matt