web-dev-qa-db-fra.com

Exécution d'un ordinateur portable Jupyter à partir d'un autre ordinateur portable

Je me demande s'il est possible d'exécuter un fichier * .ipynb à partir d'un autre fichier * .ipynb et d'obtenir une valeur renvoyée. Je sais que nous pouvons courir comme ceci:

%run ./called_notebook.ipynb

le bloc-notes appelé contient:

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

Mais il imprime seulement "1" sans me donner la possibilité de gérer la valeur retournée. Est-ce même possible? Existe-t-il même le type de code suivant:

a = %run ./called_notebook.ipynb

?

Merci !

13
Valentin Fabianski

Je suggère d'exécuter la fonction foo à partir du nouveau bloc-notes. En d'autres termes:

%run ./called_notebook.ipynb
foo()

À mon avis, ce sont les meilleures pratiques pour utiliser le %run commande magique. Stockez vos API de haut niveau dans un bloc-notes distinct (tel que foo), mais gardez vos appels de fonction visibles dans le bloc-notes principal.

15
Matt