Is it possible for a jupyter notebook to get the name of its own file, similarly to what we would do from a python script?
os.path.basename(__file__)
doesn't seem to work, at least for me on jupyterlab
sys.argv[0]
returns my_home/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py
Jupyter notebooks have the file extension “. ipynb”. Clicking on files ending with “. ipynb” opens the notebook.
The easiest way to debug a Jupyter notebook is to use the %debug magic command. Whenever you encounter an error or exception, just open a new notebook cell, type %debug and run the cell. This will open a command line where you can test your code and inspect all variables right up to the line that threw the error.
The only way I've found is through JavaScritp as in this answer.
The compact form is a cell like this:
%%javascript
IPython.notebook.kernel.execute(`notebookName = '${window.document.getElementById("notebook_name").innerHTML}'`);
after that you'll have the variable notebookName
with the name that appears at the
top of the page.
A better solution may be using IPython.notebook.notebook_name
:
%%javascript
IPython.notebook.kernel.execute(`notebookName = '${IPython.notebook.notebook_name}'`);
it gives you the name with the extension .ipynb
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With