Python Tips: 実行中のスクリプトの名前を取得したい

Pythonで、実行中のスクリプトの名前を取得する方法をご紹介します。

と構えるまでもなくやり方はかんたんで、組み込みの変数 file を使います。

print __file__
# => 実行中のスクリプト名の絶対パス

次のようにすると、ファイル名の部分だけ切り出すことができます。

import os

print os.path.basename(__file__)
# => 実行中のスクリプト名

逆にファイル名なしのパスだけを得たい場合は dirname を使います。

print os.path.dirname(__file__)
# => 実行中のスクリプトのディレクトリ

以上です。

ちなみに、 file とよく似たものに name があります。こちらは

  • 実行中のスクリプト内では "__main__"
  • 他からimportされたとき 拡張子なしのファイル名(モジュール名)

という値を格納しています。

参考