Pythonで、実行中のスクリプトの名前を取得する方法をご紹介します。
と構えるまでもなくやり方はかんたんで、組み込みの変数 file を使います。
print __file__
# => 実行中のスクリプト名の絶対パス
次のようにすると、ファイル名の部分だけ切り出すことができます。
import os
print os.path.basename(__file__)
# => 実行中のスクリプト名
逆にファイル名なしのパスだけを得たい場合は dirname を使います。
print os.path.dirname(__file__)
# => 実行中のスクリプトのディレクトリ
以上です。
ちなみに、 file とよく似たものに name があります。こちらは
- 実行中のスクリプト内では "__main__"
- 他からimportされたとき 拡張子なしのファイル名(モジュール名)
という値を格納しています。