Python sched替代取消所有事件

时间:2009-12-29 13:09:52

标签: python events

我正在寻找sched模块的替代方案,这将允许我随时取消所有事件。 sched只允许通过id取消单个事件(在调度事件时从调度程序返回)。 任何指向Python替代sched的指针都将受到赞赏。 谢谢 托尼p

1 个答案:

答案 0 :(得分:9)

在python 2.6中,有一个名为queue的只读属性,返回即将发生的事件列表。所以这将取消所有事件:

s = sched.scheduler(time.time, time.sleep)
map(s.cancel, s.queue)

Python 3的更新:

Python 3 map()返回迭代器。因此,必须将对象转换为列表。

s = sched.scheduler (time.time, time.sleep)
list(map(s.cancel, s.queue))

结帐https://stackoverflow.com/a/1303354/6523409https://stackoverflow.com/a/13623676/6523409