How to add Time Delay in Python?
Last Updated :
25 Jun, 2025
A time delay means pausing the program for a short period before continuing to the next step. This is useful when you want to slow down the execution, like waiting between messages or steps in a loop. In Python, you can add a delay using the sleep() function from the time module, where you specify how many seconds the program should wait.
Now let's look at different ways to pause/delay execution in Python.
Using time.sleep() function
The time.sleep() function pauses the program for a set number of seconds before continuing. It's the simplest way to add a delay in execution.
Syntax:
time.sleep(seconds)
seconds: The number of seconds to pause the program (can be an integer or float).
Example 1: Printing the numbers by adding a time delay.
Python
import time
for i in range(0,5):
print(i)
time.sleep(2)
Output

Explanation: It prints numbers one by one from 0 to 4, pausing 2 seconds between each print.
Example 2: Dramatic printing using sleep() for every character.
Python
import time
msg = input("Enter your message: ")
for char in msg:
print(char, end="")
time.sleep(0.5)
Output

Explanation:
- The code prints each character of a string with a 0.5-second delay using time.sleep().
- It creates an auto-typing effect on the screen.
Example 3: Printing the pattern by taking range from the user and adding time delay.
Python
import time
num = int(input("Enter the range: "))
print("Printing the pattern")
for i in range(0, num):
for j in range(0, i + 1):
print('*', end=' ')
time.sleep(0.5)
print(' ')
Output

Explanation:
- It prints a right-angled triangle pattern of asterisks (*) using nested loops.
- Each * is printed with a 0.5-second delay to create a slow, step-by-step visual effect.
Example 4: Multithreading using sleep()
Python
import time
from threading import Thread
class Geeks(Thread):
def run(self):
for x in range(4):
print("Geeks")
time.sleep(2.2)
class For(Thread):
def run(self):
for x in range(3):
print('For')
time.sleep(2.3)
print("Hello")
g1 = Geeks()
f1 = For()
g1.start()
f1.start()
g1.join()
f1.join()
print("All Done!!")
Output

Explanation:
- Two classes Geeks and For run in separate threads and print "Geeks" and "For" multiple times with delays.
- Both threads start together and print messages at the same time.
- After both finish, the program prints "All Done!!".
Using threading.Event.wait function
threading.Event().wait() function pauses a thread for a specified time without blocking other threads. It's similar to time.sleep() but works well in multithreading scenarios.
Syntax:
threading.Event().wait(timeout)
timeout: Number of seconds to wait. If not given, it waits indefinitely until the event is set.
Example:
Python
import threading
d = 2
print('Geeks')
threading.Event().wait(d)
print('for')
threading.Event().wait(d)
print('Geeks')
Output
Geeks
for
Geeks
Explanation: It creates a typing effect with pauses, using threading.Event().wait() as an alternative to time.sleep() for delaying execution without blocking other threads (if used in multithreaded programs).
Using threading.Timer class
threading.Timer class runs a function after a specified delay in a separate thread. It's useful for scheduling tasks without blocking the main program.
Syntax:
threading.Timer(interval, function, args=None, kwargs=None)
- interval: Time (in seconds) to wait before running the function.
- function: The function to execute after the delay.
- args (optional): Tuple of arguments for the function.
- kwargs (optional): Dictionary of keyword arguments for the function.
Example:
Python
import threading
def gfg():
print("Computer Science: GeeksforGeeks\n")
t = threading.Timer(1.0, gfg)
t.start()
print("Timer")
Output
Timer
Computer Science: GeeksforGeeks
Explanation:
- Prints "Timer" right away. Then, after a 1-second delay, it runs the gfg() function in the background and prints "Computer Science: GeeksforGeeks".
- The delay doesn’t stop the main program.
Using time.monotonic() and time.monotonic_ns() functions
time.monotonic() and time.monotonic_ns() return a clock value that always moves forward, making them useful for measuring time gaps. They aren’t affected by system clock changes. monotonic_ns() gives the time in nanoseconds for higher precision.
Example 1: With time.monotonic() function
Python
import time
t = time.monotonic()
d = 5
while True:
t2 = time.monotonic()
t3 = t2 - t
if t3 >= d:
break
print("Time delay of 5 seconds is over!")
OutputTime delay of 5 seconds is over!
Explanation: Measures a 5-second delay using time.monotonic() by checking the time difference in a loop, then prints a message when the delay is over.
Example 2: With time.monotonic_ns() function
Python
import time
t = time.monotonic_ns()
d = 5_000_000_000
while time.monotonic_ns() - t < d:
pass
print("Time delay of 5 seconds is over!")
Output
Time delay of 5 seconds is over!
Explanation: It waits for 5 seconds using high-precision time.monotonic_ns(). After the delay, it prints a message saying the time is over.
Related Articles:
Similar Reads
How to add time delay in Python? A time delay means pausing the program for a short period before continuing to the next step. This is useful when you want to slow down the execution, like waiting between messages or steps in a loop. In Python, you can add a delay using the sleep() function from the time module, where you specify h
4 min read
How to add Days to a Date in Python? Python provides an in-built module datetime which allows easy manipulation and modification of date and time values. It allows arithmetic operations as well as formatting the output obtained from the DateTime module. The module contains various classes like date, time, timedelta, etc. that simulate
2 min read
How to Set Time Delay in PHP ? To set a time delay in PHP, you have several approaches depending on your requirements. The time delay is useful for various purposes like creating a pause in script execution or scheduling tasks. These are the following different approaches: Table of Content Using sleep() FunctionUsing usleep() Fun
2 min read
How to add timestamp to excel file in Python In this article, we will discuss how to add a timestamp to an excel file using Python. Modules requireddatetime: This module helps us to work with dates and times in Python.pip install datetimeopenpyxl: It is a Python library used for reading and writing Excel files.pip install openpyxltime: This mo
2 min read
How to Measure Elapsed Time in Python In Python, we can measure the elapsed time (time taken for a specific task to complete) on executing a code segment or a Python script. It's useful when we are benchmarking the code, debugging or optimizing performance. Python provides several built-in modules to measure the execution time of code b
4 min read
How to add time onto a DateTime object in Python In Python, adding time (such as hours, minutes, seconds, or days) to a datetime object is commonly done using the timedelta class from the datetime module. This allows precise manipulation of date and time values, including performing arithmetic operations on datetime objects. It's key features incl
3 min read