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

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

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

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

...

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

name は組み込みの変数で

  • pythonコマンドで直接実行されているとき "__main__"
  • 他のコードからimportされているとき そのファイル名

を文字列として格納しています。

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

参考