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
我发现的唯一方法是通过 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