Может ли блокнот Jupyter найти свое собственное имя файла? - PullRequest
0 голосов
/ 07 октября 2018

Возможно ли для ноутбука jupyter получить имя своего собственного файла, аналогично тому, что мы сделали бы из скрипта на python?

os.path.basename(__file__), похоже, не работает, по крайней мере, для меня на jupyterlab

sys.argv[0] возвращает my_home/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py

1 Ответ

0 голосов
/ 04 июня 2019

Единственный способ, который я нашел - через JavaScritp, как в этот ответ .

Компактная форма представляет собой такую ​​ячейку:

%%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

...