jupyter 笔记本可以找到自己的文件名吗?
Can a jupyter notebook find its own filename?
jupyter notebook 是否可以获取其自身文件的名称,类似于我们从 python 脚本中执行的操作?
os.path.basename(__file__)
似乎不起作用,至少对我来说在 jupyterlab 上是这样
sys.argv[0]
returns my_home/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py
我发现的唯一方法是通过 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
的名称
jupyter notebook 是否可以获取其自身文件的名称,类似于我们从 python 脚本中执行的操作?
os.path.basename(__file__)
似乎不起作用,至少对我来说在 jupyterlab 上是这样
sys.argv[0]
returns my_home/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py
我发现的唯一方法是通过 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