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 variab开发者_C百科les 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()
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()
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...
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
精彩评论