在我的筆記本中,我有一個單元格返回溫度計算結果。它有點長,所以在運行後,我想隱藏它並在需要時顯示它。Jupyter筆記本:命令隱藏單元格的輸出?
做手工,我可以雙擊輸出的左側,則隱藏
之後,但有什麼辦法,我可以做到這一點通過代碼?例如,
單元格的最後一行,使用類似於%%hide output
的命令,輸出在完成運行後將被隱藏。
此外,我可以在輸出HTML中獲得此功能嗎?
在我的筆記本中,我有一個單元格返回溫度計算結果。它有點長,所以在運行後,我想隱藏它並在需要時顯示它。Jupyter筆記本:命令隱藏單元格的輸出?
做手工,我可以雙擊輸出的左側,則隱藏
之後,但有什麼辦法,我可以做到這一點通過代碼?例如,
單元格的最後一行,使用類似於%%hide output
的命令,輸出在完成運行後將被隱藏。
此外,我可以在輸出HTML中獲得此功能嗎?
如果您不介意有點黑客攻擊,那麼您可以編寫一個簡單的腳本,將筆記本的.ipynb文件(這是一個簡單的JSON文件)中每個單元格的「摺疊」屬性從false變爲真 。 。 但是,如果.ipynb格式發生變化,將來可能會失敗。
基於this,我只是想出了這個給自己幾分鐘前:
%%javascript
$('#maintoolbar-container').children('#toggleButton').remove()
var toggle_button = ("<button id='toggleButton' type='button'>Show Code</button>");
$('#maintoolbar-container').append(toggle_button);
var code_shown = false;
function code_toggle()
{
if (code_shown)
{
console.log("code shown")
$('div.input').hide('500');
$('#toggleButton').text('Show Code');
}
else
{
console.log("code not shown")
$('div.input').show('500');
$('#toggleButton').text('Hide Code');
}
code_shown = !code_shown;
}
$(document).ready(function()
{
code_shown=false;
$('div.input').hide();
});
$('#toggleButton').on('click', code_toggle);
它有一個小故障:每次運行該單元格(我把在頂部),它添加一個按鈕。所以,這是需要解決的問題。需要檢查maintoolbar-container
以查看按鈕是否已經存在,然後不添加它。
EDIT
我添加的代碼的必要片:
$('#maintoolbar-container').children('#toggleButton').remove()
它隱藏代碼不輸出。 – vesszabo
在較新版本(5.0.0當時我在寫這),按在 'O'命令模式隱藏單元格的輸出焦點。如果您在輸出前點擊三次,也會發生同樣的情況。
從筆記本中的代碼控制它的唯一方法是生成具有隱藏/顯示按鈕的自定義HTML輸出。 –
@ThomasK,所以我不能'自動'通過輸出來隱藏輸出? – cqcn1991
你可能實際上能夠'顯示'一些被執行並執行它的Javascript,但這有點駭人聽聞。我不知道JS的調用會是什麼。 –