jupyter笔记本可以找到自己的文件名吗?

时间:2018-10-07 18:16:15

标签: python jupyter-notebook jupyter-lab python-os

jupyter笔记本是否有可能获得自己的文件名,这与我们从python脚本执行的操作类似?

os.path.basename(__file__)似乎不起作用,至少对于jupyterlab上的我而言

sys.argv[0]返回my_home/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py

1 个答案:

答案 0 :(得分:2)

我发现的唯一方法是通过JavaScritp,如 this answer

紧凑形式是一个像这样的单元格:

%%javascript
IPython.notebook.kernel.execute(`notebookName = '${window.document.getElementById("notebook_name").innerHTML}'`);

之后,您将获得变量notebookName,其名称显示在 页面顶部。

更好的解决方案可能是使用IPython.notebook.notebook_name

%%javascript
IPython.notebook.kernel.execute(`notebookName = '${IPython.notebook.notebook_name}'`);

它为您提供扩展名.ipynb