需求描述:
每分钟刷新一次网页来获取其中內容。
简单实现定时功能可以用while True:再加一个time.sleep(n)。
后来在google的mail list发现一个较好的解決方法,如下。
python定时器的代码:
class RepeatableTimer(object):
def __init__(self, interval, function, args=[], kwargs={}):
self.interval = interval
self.function = function
self.args = args
self.kwargs = kwargs
def start(self):
self.stop()
import threading
self._timer = threading.Timer(self.interval, self._run)
self._timer.setDaemon(True)
self._timer.start()
def restart(self):
self.start()
def stop(self):
if self.__dict__.has_key("_timer"):
self._timer.cancel()
del self._timer
def _run(self):
try:
self.function(*self.args, **self.kwargs)
except:
pass
self.restart()