IPython Notebook会话中的多个目录和/或子目录?

ely*_*ely 31 python directory ipython subdirectory

IPython文档页面建议打开几个不同的IPython笔记本会话是与不同目录或子目录中保存的笔记本进行交互的唯一方法,但这在任何地方都没有明确确认.

我面临的情况是,我可能需要与数百种不同的笔记本进行交互,这些笔记本根据不同的属性进行分类并存储在主目录的子目录中.我已将配置文件/main中的主目录(让我们称之为)ipython_notebook_config.py设置为默认目录.

当我启动IPython的笔记本电脑,它确实显示所有已保存的笔记本电脑是内/main(但包含子目录内保存的笔记本电脑/main).

我如何实现一个单独的IPython仪表板,向我展示其中的笔记本,/main 显示子目录,让我扩展一个子目录并从其内容中选择,或只显示所有子目录中的所有笔记本?

通过每次启动IPython的新实例来实现这一点是完全不可能的.

如果我需要这个能力,我愿意修改源代码.这是一种非常基本的功能,我们需要它,而且令人惊讶的是它不仅仅是默认的IPython行为.对于任何数量超过10或15的笔记本电脑,此功能是必需的.

min*_*nrk 21

IPython文档页面建议打开几个不同的IPython笔记本会话是与不同目录或子目录中保存的笔记本进行交互的唯一方法,但这在任何地方都没有明确确认.

是的,这是Notebook服务器的当前(临时)限制.笔记本待办事项列表中的多目录支持非常高(不幸的是,列表很长,开发人员很少并且有日常工作),它还没有.到0.14(可能是秋天),您应该没有理由运行多个nb服务器,但是现在这是多个目录的唯一选项.简单的初稿缺少的是:

  1. 将个人笔记本与目录相关联(相当简单),以及
  2. 用于简单文件系统导航的Web UI(稍微不那么简单).

如果我需要这个能力,我愿意修改源代码

如果你想在源代码中找到解决办法,限制因素是NotebookManager,它与特定目录相关联.如果你调整list_notebooks()方法来处理子目录,那么你就是90%.

我对此也很好奇,所以我在这里拼凑了一个快速示例,它允许您至少在子目录中读取/运行/编辑/保存笔记本(行走深度限制为2,但易于更改).任何新笔记本都将位于顶级目录中,并且没有用于移动它们的UI.