2017-09-05 9 views
0

Pythonにはまったく新しいので、いろいろなソースを見回しましたが、コードが実際に機能するようにはなっていません。私が使用しているコードは、ファイル1からののインポートxです。 (import file1.xも試してみましたが)両方とも変数を与えるのではなく、モジュールを実行します。 他に使用するコードはありますか?何か不足していますか?モジュール間で変数をインポートする

+3

のPythonから値を印刷xはfile1のインポートからインポートされたモジュールこれを回避する方法はありません。これは、モジュール内のコードを正しくロードする方法です。この動作を絶対に行えない場合は、外部設定ファイルを使用して変数値を格納してください。 –

+2

どのような形式のインポートでも、「モジュールを実行させる」ことができます。インポートされたオブジェクトは他にどのように存在しますか? (直接実行するのではなく)モジュールがインポートされたときに実行したくないコードがある場合、それは 'if __name__ ==" __main __ ":'ブロックでインデントすることです。 – jasonharper

答えて

1

モジュールは、オブジェクトを1つだけインポートする場合でも、インポート時に評価されることが必要です。

あなたがこれを避けたいのであれば、あなたは次のように文の中のすべての実行中の機能を非表示にすることができます:あなたは自由にあなたの変数を宣言することができますが、他のすべての内部関数やクラスをラップし、確認する必要があり

# in file1.py 
x = 1 

if __name__ == '__main__': 
    running_function(x) 
    running_function2(x) 

この特別なブロック内の呼び出し。

-1

マイfile1.py持っている唯一のライン以下、 X = "Hello World" の

X

印刷が実際に常にコードを実行します他のファイルfile1

関連する問題