Python Notebook 定期自动运行

4 投票
2 回答
5686 浏览
提问于 2025-04-18 09:28

我在一个笔记本浏览器里有一个脚本,它可以进行一些实时数据分析。我希望这个脚本能每隔几秒钟或几分钟自动运行一次,而不是我每次都要手动按 Ctrl+Enter。

有没有什么办法可以做到这一点?我需要额外的插件吗?如果需要的话,具体是哪些插件?

2 个回答

2

一种方法是把你的单元格变成一个函数。在另一个单元格里,你可以用一个合适的循环来调用 time.sleep()。你也可以让它检查某个外部资源是否存在,以决定什么时候退出,这样就不需要提前知道循环的次数。

3

最简单的方法是:

import time
def periodic_work(interval):
    while True:
        #change this to the function you want to call, or paste in the code you want to run
        your_function()
        #interval should be an integer, the number of seconds to wait
        time.sleep(interval)

如果你想每分钟运行一次,可以用 periodic_work(60) 来运行一个新的单元格。这样你会看到在IPython Notebook右上角有一个闭合的圆圈,表示内核正在忙。如果你想停止这个实时更新,可以点击菜单栏上的停止按钮(标记为中断),然后等一秒钟。想要重新开始时,只需再次运行调用 periodic_work 的单元格即可。

撰写回答