是否可以在笔记本startup
代码中修改笔记本的内容?我想运行一些初始化代码并根据代码向机器上的每个笔记本添加“标题”单元格,例如从本地git仓库获取当前头部的哈希值,或者将文件从S3拉到本地文件系统
我可以在.py
目录中放置一堆脚本,.ipy
或~/.ipython/profile_default/startup/
,我想修改当前使用这些脚本打开的笔记本(或者如果可能的话,还有其他一些脚本。)
根据docs,这些脚本运行时已经设置了shell,所以我认为应该有一些方法可以访问至少打开的笔记本的本地路径。然后我可以使用nbformat
(github)来修改内容。
或者我可以使用NotebookApp
或ContentsManager
来修改正在运行的笔记本,但我不确定如何做到这一点,笔记本文档对这些类的实际API非常清楚。这可能是不可能的,因为init代码在内核中执行,而内核不知道前端是什么,可能是内核连接到console
而不是notebook
的情况。或同时为notebook
和console
。
所以
NotebookApp
,FileContentsManager
或其他内部类来修改笔记本电脑?相关