Python time sleep()

Filed Under: Python

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

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 time sleep() function syntax

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:

python time sleep, python sleep

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)

Python sleep example

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.

Different delay time of python sleep()

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

Dramatic printing using sleep()

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 thread sleep

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.

python thread sleep, python time sleep multithreading, python sleep example thread

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

Comments

  1. Mika Kaakinen says:

    Awesome tutorial!

  2. Matt says:

    That was an awesome, concise and clear explanation! Thanks very much!

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages