Таймер обратного отсчета Python

Я хочу узнать о таймере в Python.

Предположим, у меня есть фрагмент кода:

def abc() print 'Hi' print 'Hello' print 'Hai' 

И я хочу печатать его каждые 1 секунду. Максимум три раза; 1-я секунда мне нужно проверить printf, 2-я секунда мне нужно также проверить на 3-ей секунде.

В моих фактических значениях кода значение будет обновляться. Мне нужно зафиксировать, во сколько все переменные обновляются.

Может кто-нибудь сказать мне, как это сделать.

  • Python - поиск слов частоты списка слов в текстовом файле
  • Как я могу узнать, был ли только что запущен генератор?
  • Что означает «убитый»?
  • Вырыв из вложенных циклов
  • Повторные однократные или множественные тесты с носом
  • Найти функции, явно определенные в модуле (python)
  • Pythonic способ правильно отделить модель от приложения с помощью SQLAlchemy
  • замена signal.alarm в Windows
  • 7 Solutions collect form web for “Таймер обратного отсчета Python”

    Используйте time.sleep .

     import time def abc(): print 'Hi' print 'Hello' print 'Hai' for i in xrange(3): time.sleep(1) abc() 

    time.sleep в этом случае прекрасен, но что time.sleep если функция abc() занимает полсекунды? Или 5 минут? В этом случае вы должны использовать объект Timer .

     from threading import Timer def abc(): print 'Hi' print 'Hello' print 'Hai' for i in xrange(3): Timer(i, abc).start() 

    Вы должны посмотреть в time.sleep() . Например:

     for i in xrange(5): abc() time.sleep(3) 

    Это будет печатать ваши строки 5 раз с 3-секундной задержкой между ними.

     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 time def abc(): print 'Hi' time.sleep(1) print 'Hello' time.sleep(1) print 'Hai' time.sleep(1) 

    Думаю, после этого можно догадаться …

     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 
    Python - лучший язык программирования в мире.