在独立模式下的IPython笔记本中运行一些任务

2024-09-26 17:38:53 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以在IPython笔记本中运行一些长任务,关闭浏览器,然后在一段时间后再次打开它并显示这些任务的结果?

比如,这样的任务:

def f():
    import time
    time.sleep(100)
    with open("result.txt", "w") as fh:
        fh.write("Done.")

如果我正常运行任务,并在完成前关闭浏览器,当我打开它时,我看不到'result.txt'

如果我使用^{}魔术或并行执行来运行它-如果在完成之前关闭浏览器,同样没有结果。

是否有扩展或黑客?还是我遗漏了什么?

更新1:

虽然存在background jobs control support in IPython,但在断开浏览器连接后,后台作业会变得陈旧。 我唯一能想到的是在关闭浏览器之前发出%connect_info,然后使用

ipython console --existing <ID>.json

从那里开始我的工作。

更新2:

更有用的黑客是ipython console和作业控制的结合。一、 在浏览器中启动后台作业时,我打开控制台并附加到同一会话,然后我可以自由关闭它,直到作业完成。

更新3:

从iPython 1.0dev版本开始,它似乎就工作了,没有任何黑客攻击。你只要运行你想要的,关闭浏览器,它仍然运行。


Tags: importtxttimedefwithipython浏览器笔记本

热门问题