修改单元格的元数据

时间:2014-05-28 16:23:44

标签: metadata ipython-notebook

我想以某种方式将我的IPython.html.widgets的值存储在我的i​​python笔记本中。

有没有办法从单元格本身的代码中修改当前单元格的元数据?

2 个答案:

答案 0 :(得分:4)

如果我理解你在寻找什么: 从Cell Toolbar(ipython笔记本工具栏的右上角),从下拉列表中选择Edit Metadata

答案 1 :(得分:4)

我不知道如何在笔记本中执行此操作,但我找到了使用自定义http://itisprakash.blogspot.com/2016/05/cross-compile-alljoyn-for-raspberrypi.html和nbconvert进行此操作的方法。

您可以创建一个扩展preprocessor的类。在预处理(或preprocess_cell)方法中,添加用于在单元元数据中存储相关输出的逻辑。

类似的东西:

class MyExecutePreprocessor(ExecutePreprocessor):
    def preprocess_cell(self, cell, resources, index):
        # Execute the cell normally
        cell, resources = super().preprocess_cell(cell, resources, index)
        # Add your magic here
        cell.metadata['widgets'] = {'stuff':'that is cool'}
        return cell, resources

然后,您可以执行此预处理器nbconvert.preprocessors.ExecutePreprocessor,或作为programatically的参数。