9

How to hide one specific cell (input or output) in IPython Notebook?不工作。

在 Windows 上,我执行以下操作

jupyter nbconvert a.ipynb --TagRemovePreprocessor.remove_cell_tags="{'remove_cell'}"

但得到一个错误

traitlets.traitlets.TraitError: The 'remove_cell_tags' trait of a TagRemovePreprocessor instance must be a set, but a value of type 'unicode' (i.e. u"{'remove_cell'}") was specified.

我也试过'{“remove_cell”}'

我正在使用 nbconvert 5.4.0

任何想法如何做到这一点?

4

2 回答 2

4

您需要在调用 TagRemovePreprocessor 之前启用它。

下面的代码显示了如何启用它以及如何将您的标签作为一个列表括起来,以便您可以根据需要排除多个标签。要排除单个标签,只需将一个元素放入列表中,例如 ['remove_cell']。

如果要转换为 html,则不需要参数 --to html(因为 html 是默认值)。如果你想转成python,比如把--to html改成--to python

jupyter nbconvert a.ipynb --TagRemovePreprocessor.enabled=True --TagRemovePreprocessor.remove_cell_tags="['remove_cell', 'other_tag_to_remove']" --to html

请注意,TagRemovePreprocessor 仅在 nbconvert 5.3 及更高版本中可用:https ://nbconvert.readthedocs.io/en/latest/changelog.html?highlight=TagRemovePreprocessor

于 2019-02-20T07:31:18.810 回答
2

需要一些额外的引用才能工作:

--TagRemovePreprocessor.remove_cell_tags={\"remove_cell\"}.

但是,请注意笔记本到笔记本转换的持续问题 - 在这种情况下,预处理器(包括标签删除)似乎不会运行。在这个 SO 问题中查看更多信息:

jupyter nbconvert --to notebook 不排除原始单元格

更新:未在 Windows 上测试,仅在 Linux 上测试

于 2019-01-23T14:57:53.813 回答