2017-07-07 304 views
2

我想通過代碼塊保存筆記本(如點擊工具欄中的「磁盤」圖標)。原因:我想通過%%bash魔術使用nbconvert來保存HTML和幻燈片版本,但是會轉換磁盤上的內容,而不是運行的內容。如何以編程方式保存Jupyter筆記本(iPython筆記本)?

我不希望每次保存(爲此我看到一些可以設置的配置)時這樣做,但只有選擇性地爲我的一些筆記本。我期望能夠「全部運行」,並讓最後幾個單元格創建反映屏幕上新數據的附加文件。

我試過%save%notebook魔法,但都沒有做我正在尋找的東西(最好的我可以告訴)。

有沒有辦法做到這一點?

回答

0

哈克的方式做到這一點是使用%%javascript筆記本魔術運行命令

require(["base/js/namespace"],function(Jupyter) { 
    Jupyter.notebook.save_checkpoint(); 
}); 

該項訪問全球筆記本實例(當筆記本電腦頁面上,這是目前筆記本)和手動觸發保存和檢查站。

+0

謝謝你......這很聰明,做這項工作。 – kpmartin

1

下面是@ louise-davies答案的可重用版本,其格式爲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')