Jupyter笔记本拆分器

notebook-splitter的Python项目详细描述


Jupyter笔记本拆分器

此工具根据单元元数据将jupyter笔记本拆分为子笔记本。它将master笔记本转换为teacher笔记本和student笔记本;或转换为slides笔记本、tasks笔记本和solutions笔记本。

安装

尽管笔记本拆分器只是一个文件,但它可以通过pip

pip install notebook-splitter

用法

概述

tl;dr:请参见./notebook-splitter.py --help

  1. cell metadata添加到jupyter笔记本:将exercise键(默认值,可以更改)添加到元数据(json);为其提供值(tags),以便在其上创建子笔记本

    {"exercise":"task"}//anothercell{"exercise":"solution"}
  2. 使用笔记本拆分器的--keep--remove标志保存和删除带有相应tags的单元格;将其导出到相应的笔记本:

    ./notebook-splitter.py input.ipynb --keep task --remove solution   -o tasks.ipynb
    ./notebook-splitter.py input.ipynb --keep solution --remove task   -o solutions.ipynb
    ./notebook-splitter.py input.ipynb --remove task --remove solution -o slides.ipynb
    

实际例子

请参阅此存储库中的examples目录。

选项

  • 重复参数--keep--remove脚本命令行上的参数可以多次给定:--keep task --keep onlytask --remove solution
  • removeall:作为一个特殊的参数值,--remove all将删除all单元格,但指定了--keep值的单元格除外(--keep all是默认值)
  • stdin/stdout:如果没有用-o/--output给出输出文件,则生成的笔记本将被打印到stdout;如果没有作为参数给出输入文件,则将从stdin读取输入笔记本(对于Linux,如工具的菊花链很好)
  • changebasekey:在上面的示例中,区分的单元格元数据键是exercise,这是默认值。使用--basekey,可以改变这种情况。

限制

参数--keep--remove的值创建一组要保留和删除的值。一个人可以很巧妙地通过set操作实现这个工具(同时增加了--remove all的复杂性)。如果可以,请随意提交合并请求!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
servlets Java EE+GlassFish:如果用户在其他地方登录,则强制用户注销   java在不更改源代码的情况下添加钩子   安卓 Java TextView Onclick()返回表达式错误   java Excel文件未使用Apache存储内部内存   java getRowCount()和getSelectedColumn()不起作用   无法在java中生成视图绑定。util。Android Gradle插件2.1的NoTouchElementException   Java中的类型转换运算符百分比计算为零   主java中的调用方法   java在Javasound中播放多个示例   java如何知道webDriver成功打开URL   java jmock,每次调用时返回新对象   eclipse使用Java在Selenium WebDriver中生成可执行文件   macos捆绑Java OS X应用程序默认为MacRoman编码   java我应该把我的休息网关变成一个图书馆吗?   java Eclipse插件:查找包含子字符串的行号无效   Java IOException:在Linux上发送UDP数据包时没有可用的缓冲区空间   java无法解析jaxbxjc2中的名称“xjc:globalJavaType”。2.52.罐子   java是否有HibernateAPI来检查是否创建了数据库?