Eu gostaria de salvar um bloco de notas (como clicar no ícone "disco" na barra de ferramentas) através de um bloco de código. Razão: Eu gostaria de usar nbconvert
através de um %%bash
magia para salvar HTML e slide, mas que converte o que está no disco, não o que está rodando.
Eu não estou olhando para fazer isso toda vez que eu salvar (porque vejo algumas configurações que podem ser configuradas), mas apenas seletivamente para alguns dos meus notebooks. Eu estou olhando para ser capaz de "Executar tudo" e ter as últimas células criam os arquivos adicionais refletindo os novos dados na tela no momento.
Eu tentei %save
e %notebook
magics, mas nem tanto o que eu estou procurando (o melhor que posso dizer).
Há alguma maneira de fazer isso?
Respostas:
2 para resposta № 1Uma maneira hacky de fazer isso é usar o %%javascript
magia de caderno para executar o comando
require(["base/js/namespace"],function(Jupyter) {
Jupyter.notebook.save_checkpoint();
});
Isso acessa a instância global do bloco de anotações (quando na página do bloco de anotações este é o bloco de anotações atual) e dispara manualmente um salvamento e um ponto de verificação.
2 para resposta № 2
Aqui está uma versão reutilizável da resposta @ louise-davies na forma de uma função python;
from IPython.display import Javascript
script = """
require(["base/js/namespace"],function(Jupyter) {
Jupyter.notebook.save_checkpoint();
});
"""
def notebook_save():
Javascript(script)
print("This notebook has been saved")