2013/12/11

Python Tips:スクリプトとして実行されたときにだけ特定の処理を走らせたい

スクリプトとして実行されたときにのみ走らせたいコードの書き方についてご紹介します。

Pythonのコードを書いていると、そのコードが他からimportされたときには走らせたくないけれど、pythonコマンドで直接実行されたときには走らせたい、という場合があるかと思います。

そのような場合は __name__ 変数を使います。

...

if __name__ == "__main__":
    # その他直接実行されたときにだけ走らせたい処理

__name__ は組み込みの変数で
  • pythonコマンドで直接実行されているとき "__main__"
  • 他のコードからimportされているとき そのファイル名
を文字列として格納しています。

そのため、 if __name__ == "__main__" が True となるのはそのコードが直接実行されたときのみ、となるので、 __name__ によるこのような場合分けが可能となります。


参考
python - What does `if __name__ == "__main__":` do? - Stack Overflow

0 件のコメント: