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

Zio*_*fil 5 python python-os jupyter-notebook jupyter-lab

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

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

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

Alb*_*Ham 7

我发现的唯一方法是通过 JavaScritp,如 本答案所示

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

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

之后,您将拥有notebookName名称出现在页面顶部的变量。

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

%%javascript
IPython.notebook.kernel.execute(`notebookName = '${IPython.notebook.notebook_name}'`);
Run Code Online (Sandbox Code Playgroud)

它为您提供带有扩展名的名称 .ipynb

  • 在 jupyter 实验室上,我收到错误“Javascript 错误:IPython 未定义” (9认同)