Search code examples
pythonreturnjupyter-notebook

Running a Jupyter notebook from another notebook


I wonder if it is possible to run a *.ipynb file from another *.ipynb file and get a returned value. I know that we can run like this:

%run ./called_notebook.ipynb

the called_notebook contains:

def foo():
    print(1)
    return 2
foo()

But it only prints "1" without giving me the opportunity to handle the returned value. Is it even possible ? Does the following kind of code even exist :

a = %run ./called_notebook.ipynb

?

Thanks !


Solution

  • I'd suggest running the foo function from the new notebook. In other words:

    %run ./called_notebook.ipynb
    foo()
    

    In my opinion, this is best practices for using the %run magic command. Store your high level APIs in a separate notebook (such as foo), but keep your function calls visible in the master notebook.