自动刷新当前单元格

时间:2019-11-28 06:58:07

标签: python jupyter-notebook

我已按照此处的建议将此功能添加到了jupyter配置文件中...

https://github.com/jupyter/notebook/issues/1455

def stripWS(t):
    return '\n'.join([i.rstrip() for i in t.split('\n')])

def scrub_output_pre_save(model=None, **kwargs):
    """strip trailing space before saving"""
    if model['type'] == 'notebook':
        # only run on nbformat v4
        if model['content']['nbformat'] != 4:
            print("skipping WS stripping since `nbformat` != 4")
            return
        print("Stripping WS")
        for cell in model['content']['cells']:
            if cell['cell_type'] != 'code':
                continue
            cell['source'] = stripWS(cell['source'])
    elif model['type'] == 'file':
        if model['format'] == 'text':
            print("Stripping WS")
            model['content'] = stripWS(model['content'])

c.ContentsManager.pre_save_hook = scrub_output_pre_save

这有效并删除了广告中多余的空间。我在命令提示符下收到此消息:

  

[I 06:45:34.823 NotebookApp]将文件保存到/Untitled.ipynb

     

剥离WS

但是我有一个问题:

该功能仅在保存笔记本时运行吗?

我想是因为我必须刷新当前选项卡才能看到多余的空间被删除。执行stripWS函数后,有什么方法可以自动刷新当前单元格?

1 个答案:

答案 0 :(得分:0)

Jupyter扩展名nb_black将删除单元格中任何位置的多余空间。只需在笔记本顶部使用此命令

%load_ext nb_black

使用模块之前,您可能需要使用pip安装该模块。