Have you ever needed your Python code to wait for something? Most of the time, you want your code to execute as fast as possible. But there are times when you want to delay certain code pieces execution for a small duration, and this task is achieved effortlessly through time.sleep() function in Python. In this article, we’ll discuss the functionality of the Python Sleep() function with detailed examples.
First, let's start by defining what Sleep() is?
If you want to become a Python Certified Specialist, then visit Mindmajix - A Global online training platform: “Python Training”. This course will help you to achieve excellence in this domain.
In Python, Sleep() function is used to delay program execution. It pauses the execution for a given number of seconds and can take floating-point numbers for more precise sleep time. The suspension time may vary. It is not accurate as it uses the system clock, and the accuracy depends on the operating system.
The system clock is an Advanced Programmable Interrupt Controller (APIC). It works internally by keeping track of CPU cycles and raising Interrupt Requests (IRQs) at programmable intervals. It interrupts whatever code the processor is currently executing, saves its state, and passes control to a piece of code in the operating system.
Python calls select on Linux (and compatibles) and WaitForSingleObjectEx on Windows. Both of these are normally used for I/O, and when called in a blocking way, OS will put the process on hold until the data is available or the time period is expired. It will resume the process once data is available or the time period has expired.
The Sleep() function is defined both in Python 2 and 3, and it only can pause the current thread and not the whole program.
Checkout:-Python Operators
Python has a module called time which provides various useful functions related to time tasks. Sleep() is one of the popular functions among them, that suspends the execution of a current thread for a given number of seconds.
Before using the sleep() function, make sure you import the time module. To do so type:
import time
Syntax:
Following is the syntax for sleep() method -
time.sleep(seconds)
It has only one parameter called seconds, which induces delay for that number of seconds in the code execution. This method doesn't return any value.
Let's see a few examples to understand how this function works.
Example 1) Using sleep() function in Python
import time
print("Welcome to Mindmajix Python Tutorial")
time.sleep(2.4)
print(" Print this message after a wait of 2.4 seconds")
Output:
Welcome to Mindmajix Python Tutorial
Print this message after a wait of 2.4 seconds
import time
seconds = 5
while seconds > 0:
print(seconds)
time.sleep(1)
seconds = seconds - 1
Output:
5 4 3 2 1
It will print the output with a 1-second delay.
Example 3) Print Date and time with a 1-second interval
import time
while True:
print("DateTime " + time.strftime("%c"))
time.sleep(1) ## delays for 1 seconds
Output:
DateTime Tue Jan 5 08:40:18 2021
DateTime Tue Jan 5 08:40:19 2021
DateTime Tue Jan 5 08:40:20 2021
DateTime Tue Jan 5 08:40:21 2021
DateTime Tue Jan 5 08:40:22 2021
And continues until stop.
Example 4) Asking user input for wait time
import time
def sleeper():
while True:
# Get user input
num = raw_input('How long to wait: ')
# Try to convert it to a float
try:
num = float(num)
except ValueError:
print('Please enter in a number.n')
continue
# Run our time.sleep() command,
# and show the before and after time
print('Before: %s' % time.ctime())
time.sleep(num)
print('After: %sn' % time.ctime())
try:
sleeper()
except KeyboardInterrupt:
print('nnKeyboard exception received. Exiting.')
exit()
output :
How long to wait: 5
Before: Tue Jan 5 08:47:56 2021
After: Tue Jan 5 08:48:01 2021
Example 5) Adding a delay of the definite interval using Sleep ()
Here, the current time is first displayed and then the execution is paused for 5 seconds using sleep() function.
import time
print ("current time : ",time.ctime())
time.sleep(5)
print ("after : ",time.ctime())
Output:
Current time: 04:37:56
After: 04:38:01
Example 6) Adding different delay time of python sleep()
In Python, you can add different delay times between the execution of the program depending on the required output.
Example,
import time
for k in [2, 2.5, 3, 3.5]:
print("I will walk for %s" % k, end='')
print(" kilometres")
time.sleep(k)
Output:
I will walk for 2 kilometres
I will sleep for 2.5 kilometres
I will sleep for 3 kilometres
I will sleep for 3.5 kilometres
Asynchronous capabilities are added to the Python version 3.4 and higher. Asynchronous programming allows you to run various tasks at once. When a task completes, it will notify the main thread. You need to add async and await to use this function.
Example:
import asyncio
async def main():
print('Hello ...')
await asyncio.sleep(2)
print('... World!')
asyncio.run(main())
The time. Sleep () function plays a vital role in multithreading. For single-threaded programs, the function suspends the execution of thread and process. But for multithreaded programs, the sleep function halts the execution of the current thread only rather than the whole process.
Example:
import time
from threading import Thread
class Student(Thread):
def run(self):
for x in range(0, 5):
print(x)
time.sleep(1)
class Teacher(Thread):
def run(self):
for x in range(10, 25):
print(x)
time.sleep(5)
print("Staring Student Thread")
Student().start()
print("Starting Teacher Thread")
Teacher().start()
print("Done")
Output:
Starting Student Thread
0
Starting Teacher Thread
10
Done
1
2
3
4
11
5
The threading module provides an Event() method. When the event is set, the program will break out of the loop immediately.
The working of this function is shown below:
from threading import Event
print('Start Code Execution')
def display():
print('Welcome to Mindmajix')
Event().wait(10)
display()
The code is using Event().wait(10).The number 10 is the number of seconds the code will delay to go to the next line.
Frequently Asked Python Interview Questions & Answers
Output:
Start Code Execution
Welcome to Mindmajix
The sleep() function is defined in the time module.
There are two ways to include it in the program
import time
.sleep(5) ## suspend execution for five seconds
from time import sleep
sleep(5) ## suspend execution for five seconds
sleep() can take floating-point numbers as an argument for more precise sleep time.
import time
time.sleep(0.100) ## Wait for 100 milliseconds
import time
seconds = 5
while seconds > 0:
print(seconds)
time.sleep(1)
seconds = seconds - 1
5 4 3 2 1
It will print the output with a 1-second delay.
import time
while True:
print("DateTime " + time.strftime("%c"))
time.sleep(1) ## delays for 1 seconds
DateTime Tue Sep 5 08:40:18 2017
DateTime Tue Sep 5 08:40:19 2017
DateTime Tue Sep 5 08:40:20 2017
DateTime Tue Sep 5 08:40:21 2017
DateTime Tue Sep 5 08:40:22 2017
And continues until stop.
import time
def sleeper():
while True:
# Get user input
num = raw_input('How long to wait: ')
# Try to convert it to a float
try:
num = float(num)
except ValueError:
print('Please enter in a number.n')
continue
# Run our time.sleep() command,
# and show the before and after time
print('Before: %s' % time.ctime())
time.sleep(num)
print('After: %sn' % time.ctime())
try:
sleeper()
except KeyboardInterrupt:
print('nnKeyboard exception received. Exiting.')
exit()
How long to wait: 5
Before: Tue Sep 5 08:47:56 2017
After: Tue Sep 5 08:48:01 2017
In Python time.sleep() method blocks thread. If the program is single-threaded, then the process will be also blocked. The substantive part of the sleep operation is wrapped in a Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS block, allowing other threads to continue to execute while the current one sleeps.
If you are interested to learn Python and becoming a Python Expert? Then check out our Python Certification Training Course at your near Cities.
Python Course Chennai, Python Course Bangalore, Python Course Dallas, Python Course Newyork
These courses are incorporated with Live instructor-led training, Industry Use cases, and hands-on live projects. This training program will make you an expert in Python and help you to achieve your dream job.
Conclusion:
In this article, we have discussed the sleep () method in Python with a few code examples of how it works. We hope the information shared is helpful for you to put your code to sleep!
If you have any doubts, let us know in the comment section below, our experts will help you with the best possible solution.
Our work-support plans provide precise options as per your project tasks. Whether you are a newbie or an experienced professional seeking assistance in completing project tasks, we are here with the following plans to meet your custom needs:
Name | Dates | |
---|---|---|
Python Training | Dec 07 to Dec 22 | View Details |
Python Training | Dec 10 to Dec 25 | View Details |
Python Training | Dec 14 to Dec 29 | View Details |
Python Training | Dec 17 to Jan 01 | View Details |
Anjaneyulu Naini is working as a Content contributor for Mindmajix. He has a great understanding of today’s technology and statistical analysis environment, which includes key aspects such as analysis of variance and software,. He is well aware of various technologies such as Python, Artificial Intelligence, Oracle, Business Intelligence, Altrex, etc. Connect with him on LinkedIn and Twitter.