Python sleep(): Add Delay In A Seconds To Suspend Execution Of A Script

by on December 9, 2013 · 2 comments· LAST UPDATED December 9, 2013

in , ,

I am a new Python user. I would like to delay execution for five seconds in a Python script. How do I add a time delay in Python on Unix/Linux? Is there a sleep command in python like the Unix/Linux sleep utility to suspend execution of a bash script?

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsPython time
Estimated completion time1m
You need to import and use a module called time. This module provides various time-related functions for Python users.

Python sleep syntax

The syntax is as follows
import time
time.sleep(1)
time.sleep(N)

The time.sleep() suspend execution of a script for the given number of seconds. The argument may be a floating point number to indicate a more precise sleep time. The actual suspension time may be less than that requested because any caught signal will terminate the sleep() following execution of that signal’s catching routine. Also, the suspension time may be longer than requested by an arbitrary amount because of the scheduling of other activity in the system.

Example: Put delay in a Python script

Create a script called demo-sleep.py:

#!/usr/bin/python
# The following will run infinity times on screen till user hit CTRL+C
# The program will sleep for 1 second before updating date and time again.
 
import time
 
print "*** Hit CTRL+C to stop ***"
 
## Star loop ##
while True:
        ### Show today's date and time ##
	print "Current date & time " + time.strftime("%c")
 
        #### Delay for 1 seconds ####
        time.sleep(1)
 

Save and close the file. Run it as follows:
$ chmod +x demo-sleep.py
$ ./demo-sleep.py

Sample outputs:

Fig.01: Python sleep() demo program output

Fig.01: Python sleep() demo program output

Where,

  1. Set an infinite loop using while True:
  2. Get the current date and time using strftime() and display on screen.
  3. Finally, add 1 second delay in a script using sleep(1).
  4. Continue this procedure till user interrupts.
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 2 comments… read them below or add one }

1 Michal December 9, 2013 at 1:58 pm

What if the print statement takes 0.5 second to run; How would you solve to print out time every one second?

Reply

2 PunKeel December 24, 2013 at 6:27 pm

Leave a Comment

Tagged as: , ,

Previous Faq:

Next Faq: