Python コードを格納したファイルが直接実行されたときにだけ特定の処理を走らせる方法についてご紹介します。
コードを書いていると、特定の処理について「ファイルが他のファイルから import されたときには実行せず python
コマンドで直接実行されたときだけ実行したい」というときがあります。そんなときには __name__
の値を見て分岐させるとよいです。
...
if __name__ == "__main__":
# 直接実行されたときにだけ走らせたい処理
__name__
は組み込みの変数でファイルがどのように読み込まれたかによって異なる値を格納しています:
python
コマンドで直接実行されたとき:"__main__"
- 他のコードからモジュールとして import されたとき: ファイル名
ですので、 if __name__ == "__main__":
ブロックの中のコードはそのファイルが直接実行されたときだけ走ることになります。