开发者社区 问答 正文

在Python中每x秒重复执行一个函数的最佳方法是什么?

我想重复执行一个函数在Python中永远每60秒(就像一个Objective C NSTimer)。这段代码将运行作为一个守护进程,实际上是调用Python脚本使用cron每一分钟,但是没有要求用户设置的。 在这个关于Python中实现的cron的问题中,解决方案似乎只有效地休眠()x秒。我不需要这样的高级功能,所以像这样的东西可能会工作

while True:
    # Code executed here
    time.sleep(60)

这段代码有什么可预见的问题吗? 问题来源StackOverflow 地址:/questions/59383247/want-to-repeat-crawling-task-with-time-interval

展开
收起
kun坤 2019-12-27 10:32:47 675 分享 版权
1 条回答
写回答
取消 提交回答
  • 使用sched模块,它实现了一个通用的事件调度器。

    import sched, time
    s = sched.scheduler(time.time, time.sleep)
    def do_something(sc): 
        print "Doing stuff..."
        # do your stuff
        s.enter(60, 1, do_something, (sc,))
    
    s.enter(60, 1, do_something, (s,))
    s.run()
    
    2019-12-27 10:32:54
    赞同 展开评论