2017-03-22 16 views
0

前のプログラムをモジュールとして使いたいです。しかし、私はそのプログラムをインポートすると、プログラムが自動的に実行されます。私はプログラムを実行したくありません。私はそのプログラムを私の新しいプログラムにモジュールとしてインポートしたいのですが、そのモジュールの関数や変数を使用します。私はこの行を追加しようとしましたif __name__ == "__main__"。しかしそれはまた働かなかった。Python 2.x.xでのモジュールのインポート

+1

で呼び出すための関数を定義することができますか?モジュールは一般的に、それらをインポートするときに独自に実行されません... – ryugie

+0

それは3つの関数を含んでいます。 –

答えて

0

if __name__ == "__main__"のコードは、そのプログラムを直接実行した場合にのみ実行され、それ以外の場合は無視されます。
残りのコードは常に実行されます。

コードを整理する正しい方法は、if __name__ == "__main__"の前にすべての属性(関数、定数、クラス...)を宣言してから、プログラムを実行するコードを記述することです。ここ構造は次のとおりです。

# only "passive" code until the __name__=="__main__" 

# could be importation... 
import sys 

# ...global variables 
version = 42 

# ...or functions 
def foo(x): 
    print("foo called") 

def bar(x): 
    print("bar called") 
    return x + 1 

if __name__ == "__main__": 
    # start the effective code here 

    print("program running") 
    print("version :", version) 
    foo() 
    n = bar(2) 
    print(n) 

また、あなたのコードは次のように見えるんどのエンド

... 

def main(): 
    print("program running") 
    print("version :", version) 
    foo() 
    n = bar(2) 
    print(n) 

if __name__ == "__main__": 
    main() 
+0

PS:私はpython3構文を使用しましたが、ここではpython2との唯一の違いは 'print'です:' print( "foo") 'の代わりに' 'print'' fooを使用して、python2 – User9123

関連する問題