您可以创建一个后台进程,以检查它经过了多少时间,然后删除正确的项…或者如果您想创建一个列表列表的子类,并在一定时间后将其删除,则可以执行相同的操作,只需调用它即可在
初始化
def __init__(self, time): #run subprocess to chek_espired elements
编辑:
我写了一个例子,但是可以做得更好!
class MyList(list): def __init__(self,elems, expires_time): list.__init__(self, elems) self.created = time.time() self.expires_time = expires_time def __getitem__(self, index): t = time.time() print t - self.created if t - self.created > self.expires_time: self.created += self.expires_time self.pop(index) self.__getitem__(index) return list.__getitem__(self, index)
ps当然,如果程序尝试从空列表中获取索引,则很容易引发人为错误



