Я хочу получить имя файла записной книжки, созданной в 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)
Та же ошибка.