我想以编程方式生成一些from IPython.nbformat import current as nbf
作为我的建模工作的一部分,以便我可以使用markdown注释将带注释的数字和代码转储到公共git仓库。理想情况下,我会创建一个新的笔记本,并在每次运行新模型时发布它。
来自this gist,我找到了这样做的模式:IPython.nbformat.current
但是,自去年春天以来,names1 <- function(x) {
z <- unlist(strsplit(x, " "))[1]
z <- substr(z,1,1)
y <- unlist(strsplit(x, " "))[2]
paste(z,"."," ", y, sep="")
}
已被弃用,实际上在jupyter / ipython 4.0.1中不存在,所以这对我不起作用。
现在这种模式的正确方法是什么?
答案 0 :(得分:3)
D'哦。
IPython.nbformat
已弃用。
nbformat
不是......
这似乎工作正常:
from nbformat import current as nbf
def make_notebook(outPath: str, description: str):
nb = nbf.new_notebook()
code = "1+2"
cells = [nbf.new_text_cell('markdown', description), nbf.new_code_cell(code)]
nb['worksheets'].append(nbf.new_worksheet(cells=cells))
fname = 'test.ipynb'
with open(path.join(outPath,fname), 'w') as _:
nbf.write(nb, _, 'ipynb')
答案 1 :(得分:0)
v4的更新版本
可能有更好的版本,对我有用。
from nbformat import v4 as nbf
import nbformat
from os import path
def make_notebook(outPath: str, description: str):
nb = nbf.new_notebook()
code = "1+2"
cells = [nbf.new_markdown_cell( description), nbf.new_code_cell(code)]
nb['cells'] = cells
fname = 'test.ipynb'
print(nb)
with open(path.join(outPath,fname), 'w') as _:
nbformat.write(nb, _)