想做個東東每分鐘刷新一次網頁來獲取其中內容,居然沒找到相應的模塊。簡單的實現定時功能可以用while True:再加一個time.sleep(n)。但感覺怪怪的,後來在google的mail list發現一個比較好的解決方法。收藏起來做個標志方便以後用。
下面代碼來源自http://groups.google.com/group/python-cn/msg/4760e1d31ca42792
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()
614





