我已按照此处的建议将此功能添加到了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函数后,有什么方法可以自动刷新当前单元格?
答案 0 :(得分:0)
Jupyter扩展名nb_black将删除单元格中任何位置的多余空间。只需在笔记本顶部使用此命令
%load_ext nb_black
使用模块之前,您可能需要使用pip安装该模块。