I want to know about timer in Python.
Suppose i have a code snippet something like:
def abc()
print 'Hi'
print 'Hello'
print 'Hai'
And i want to print it every 1 second. Max three times;ie; 1st second i need to check the printf, 2nd second I need to check as well in 3rd second.
In my actual code variables value will be updated. I need to capture at what second all the variables are getting updated.
Can anybody tell me how to do this.
time.sleep
is fine in this case but what if the abc()
function takes half a second to execute? Or 5 minutes? In this case you should use a Timer
object.
from threading import Timer
def abc():
print 'Hi'
print 'Hello'
print 'Hai'
for i in xrange(3):
Timer(i, abc).start()
Use time.sleep
.
import time
def abc():
print 'Hi'
print 'Hello'
print 'Hai'
for i in xrange(3):
time.sleep(1)
abc()
usually for me this works...
import time
def abc():
print 'Hi'
time.sleep(1)
print 'Hello'
time.sleep(1)
print 'Hai'
time.sleep(1)
I think you can guess after that...
You should look into time.sleep()
. For example:
for i in xrange(5):
abc()
time.sleep(3)
That will print your lines 5 times with a 3 second delay between.
import time
def abc()
for i in range(3):
print 'Hi'
print 'Hello'
print 'Hai'
time.sleep(1)
import time
def abc():
print 'Hi'
print 'Hello'
print 'Hai'
for i in range(3):
time.sleep(3-i)
abc()
import sys
import time
c=':'
sec = 0
min = 0
hour = 0
#count up clock
while True:
for y in range(59): #hours
for x in range (59): #min
sec = sec+1
sec1 = ('%02.f' % sec) #format
min1 = ('%02.f' % min)
hour1= ('%02.f' % hour)
sys.stdout.write('\r'+str(hour1)+c+str(min1)+c+str(sec1)) #clear and write
time.sleep(1)
sec = 0
sys.stdout.write('\r' + str(hour1) + c + str(min1) + c + '00') #ensure proper timing and display
time.sleep(1)
min=min+1
min = 0
sys.stdout.write('\r' + str(hour1) + c + str(min1) + c + '00') #ensure proper timing and display
time.sleep(1)
hour=hour+1
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.