Как найти имя документа в jupyter notebpook, используя код Python в файле .py - PullRequest
0 голосов
/ 06 ноября 2019

Я хочу получить имя файла записной книжки, созданной в Jupyter, записав код в файл python, импортировать его в записную книжку и затем нажать «Выполнить». Это должно дать мне имя файла в переменной, которую я могу напечатать.

Предположим, что имя записной книжки в Jupyter - Get_File_Name.ipynb. Поэтому я хочу сохранить Get_File_Name в переменной.

Попробовал с помощью javascriptВолшебная ячейка из кода Python в файл и импортировать этот файл Python в записную книжку.

Пробовал использовать виджеты для вставки имени файла в виджет. Оба не работают

Записать код Python в файл print_filename.py


from IPython import get_ipython
ipython = get_ipython()

ipython.run_cell_magic('javascript', '','IPython.notebook.kernel.execute(\'nb_name = "\' + IPython.notebook.notebook_name + \'"\')')
print(nb_name)

В блокноте Jupyter запустите команду

import print_filename

Если я напечатаюnb_name в другом пункте, я могу получить его. Но в том же абзаце ошибка есть Но ошибка приходит:

NameError                                 Traceback (most recent call last)
<ipython-input-4-5fa7a942367b> in <module>
----> 1 import print_filename

~/print_filename.py in <module>
      2 ipython = get_ipython()
      3 ipython.run_cell_magic('javascript', '','IPython.notebook.kernel.execute(\'nb_name = "\' + IPython.notebook.notebook_name + \'"\')')
----> 4 print(nb_name)

NameError: name 'nb_name' is not defined```


Tried other way:

```python

from IPython import get_ipython
ipython = get_ipython()

ipython.run_cell_magic('javascript', '','IPython.notebook.kernel.execute(\'nb_name = "\' + IPython.notebook.notebook_name + \'"\')')

import print_filename
print(nb_name)

Та же ошибка.

...