简体   繁体   中英

Python timer countdown

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM