2017-06-26 12 views
-2

pythonスクリプト内の別のpythonスクリプトからpythonスクリプト変数を渡そうとしています。私はコード形式でやろうとしています:スクリプト内のあるスクリプトから別のスクリプトに引数を渡す

file1.py

global x 
x = 7 

file2.py

print x 

file3.py

import file1 
import file2 

しかし、私は常にエラーを取得しますxは定義されていません。 file2をfile2にインポートして実行すると動作しますが、file3からfile2を実行すると動作しません。

ヘルプははるかに高く評価されるだろう:)

+0

は、明示的な輸入の観点で考える、「グローバル変数」の観点で考えてはいけない: 'file1の輸入X 'から。 – deceze

+1

Pythonの 'import'はPHPの' include'と非常に異なっています。 Pythonの各モジュールには独自の名前空間があり、 'import foo'を使用してモジュールをインポートすると、インポートするmoudleの名前空間に' foo'という名前だけが追加されます。 –

+0

@SiHa yeaあなたは正しいと思っています。答えは私の質問です。私はそれを見つけませんでした。 – Nils

答えて

0

あなたはglobalを使用する必要はありません。

file1.py

x = 7 

file2.py

from file1 import x 

print(x) 

file3.py

... 

しかし、それは私だった、私は推測したい場合よ

file1.py

def get_x(x): 
    return x 

file2.py

from file1 import get_x 

x = get_x(3) 

file3.py

from file2 import x 

print(x) 

:uがこのような何かをしたいですご覧のとおり、に再生するだけで、達成する必要のある内容に応じて明示的にインポートする必要があります。しかし、これは奇妙に見えますので、file1.pyまたはfile2.pyのいずれかが役に立たないように見えるので、これは誰にもおすすめできません。ここで

doc about imports

+0

私は知っていますが、お互いに依存するいくつかのスクリプトを書いていますが、エラーが発生した場合、各部分は単独でしかし、あなたの助けに感謝:) – Nils

関連する問題