2017-06-10 8 views
1

私はJupyterノートブックで変数を定義し、Pythonスクリプトに渡したいと思います。例えばJupyterノートブックからpythonスクリプトに変数を渡す

は、ノートブックに:aはexample.pyで定義されていないので、もちろん

a = [1, 2, 3, 4] 

%run example.py 
print foo 

そしてexample.pyで

b = [5, 8, 9, 10] 
foo = a + b 

、これはエラーを返します。しかしexample.pyはなく

a = [1, 2, 3, 4] 
b = [5, 8, 9, 10] 
foo = a + b 

を持っている場合、スクリプトが実行された後、次にJupyterノートブックがfoo「を見る」ことができるとfooがJupyterノートブック自体に定義されていなかったにもかかわらず、それを印刷します。

なぜPythonスクリプトはJupyterノートブック環境で変数を参照できないのですか?そして、ノートブック環境からスクリプトに変数を渡すにはどうしたらいいですか?

答えて

1

pythonスクリプトは、異なるプログラムであるため、jupyterノートブック環境で変数を見ることができません。マジックコマンドを使用すると、別のプログラムとして実行されます。変数をメソッドに渡したい場合、それを関数に変換するオプションがあります。その後Jupyterにあなたはあなたが同じプログラムでそれらを持参する必要があり、この

from example import add 
add(a) 

を行うことができます

def add(a): 
    b = [5, 8, 9, 10] 
    foo = a + b 

を追加すると言います。それ以外の場合は、引数を渡して、argvを使用してスクリプトで解析することができます。しかし、私はあなたが彼らがお互いを見たいと思うようにあなたがそれをしたいとは思わない。

関連する問題