2016-05-07 3 views
0

私は1つのスクリプトを連続して実行しています。それらのうちの1つでは、最初のものから変数をインポートしようとします。問題は、その変数をインポートすると、最初のスクリプト全体が実行されることです。私が持っている他のスクリプトであるスクリプトから別のスクリプトへのPythonインポートエラー

various commands 
x = result of these commands 

::私が持っている最初のスクリプトで

この行は最初のスクリプト実行を受けると呼ばれる
from first script import x 
various other commands 
y = z + x 

...
それはなぜですか?これは技術的に間違っていますか?間違って何

+0

pythonはスクリプト言語です。 juliendは最初のスクリプトには関数に囲まれていない行があるので実行されると述べています。プログラム全体に1つのメインプログラムしか持たないようにしてください。最初のスクリプトを実行してxの値を取得する場合は、関数のxの計算をカプセル化し、メインスクリプトの関数を呼び出す必要があります。 –

答えて

1

は、機能/クラスのコードをカプセル化し、main関数を呼び出しshoudあなたの最初のスクリプトです、

if __main__ == '__main__': 
    run() 

で、スクリプトを直接呼び出された場合にのみ、run()を言う__main__を参照してください。

関連する問題