我正在尝试使用Ipython Notebook作为工具来分享我的研究成果。我想以html或pdf格式输出笔记本作为报告。问题是我只想让报告包含降价文本和代码输出(一些图表和表格),并隐藏代码。我怎样才能做到这一点?
我做了一些在线研究,并尝试添加一个代码块,其中包含:
from IPython.display import HTML
HTML('''<script>
code_show=true;
function code_toggle() {
if (code_show){
$('div.input').hide();
} else {
$('div.input').show();
}
code_show = !code_show
}
$( document ).ready(code_toggle);
</script>
<form action="javascript:code_toggle()"><input type="submit" value="Click here to toggle on/off the raw code."></form>''')
它确实创建了一个按钮,可以打开/关闭原始代码,但如果我将笔记本下载为html文件并与其他人共享,读者仍然可以使用该按钮查看代码。
有没有更好的方法来分享结果,并隐藏原始代码?
答案 0 :(得分:0)
我想我只能回答你的部分问题,我还没有测试过pdf输出是如何工作的。
但对于HTML,我尝试过以下解决方案并且有效。
在笔记本中,放置一个代码如下的单元格:
def connect_socket():
socketIO = SocketIO('10.0.0.4',8080,Namespace)
socketIO.wait()
if __name__ == '__main__':
MyKeyboardListener() #keyboard listener, works fine
socketThread = threading.Thread(target = connect_socket) #creat thread for socket
socketThread.daemon = True #set daemon flag
socketThread.start()
SnakeApp().run
然后在样式文件夹中,创建custom.css,其中包含最后的内容:
#Apply styles
from IPython.core.display import HTML
def css_styling():
styles = open("styles/custom.css", "r").read()
return HTML(styles)
css_styling()
然后将笔记本输出为html。
如果结果有效,请告诉我。