web-dev-qa-db-ja.com

Jupyter Notebookから既存の関数を実行する方法

Jupyter Notebookを使用しています。ノートブックが実行されているのと同じフォルダに、次のように定義された関数fがあります。

 def f(x):
    return x**2

この関数をf.pyとして同じフォルダーに保存しました。次に、実行中のノートブックでこの関数を呼び出します。それ、どうやったら出来るの?関数がノートブックに入力された場合、私はちょうど入力した可能性があります

f(4)
6

loadマジックを試してください。

%load f.py

これにより、ファイルのコンテンツ全体が自動的に読み込まれ、セルで編集できるようになります。

from f import f

別のオプションです。

これらのいずれも機能しない場合は、関数を呼び出す前にこのブロックをセルとして実行することにより、ノートブックのディレクトリをシステムパスに追加してみてください。

import os
import sys
nb_dir = os.path.split(os.getcwd())[0]
if nb_dir not in sys.path:
    sys.path.append(nb_dir)
8
James Draper
%run f.py

loadマジックは、ファイル全体をセルにコピーするだけでしたが、必要ではありませんでした。インポートもうまくいきませんでした。いくつかの奇妙なエラーを投げていました。そのため、runマジックを使用することになりました。

3
Nithin