【Python】実行ファイルのパスを取得する方法
今回はPythonで実行ファイルのパスを取得する方法を紹介します。
実行ファイルのパスを取得するコード
import os
print(os.path.abspath(__file__))) # 実行ファイルの絶対パス
print(os.path.dirname(os.path.abspath(__file__))) # 実行ファイルのフォルダパス
実行ファイルのパスは__file__というPythonの専用変数によって取得することができます。
これは実行ファイルのパスを返すのですが、後述する理由から__file__ではなくos.path.abspath(__file__)としています。
__file__の仕様について
Python3.8までは、__file__が返すのはpythonコマンドの実行時に指定したパスで、相対パスで指定した場合は相対パス、絶対パスで指定した場合は絶対パスが返されます。
Python3.9以降は__file__はpythonコマンドで指定したパスによらず絶対パスを返すようになっています。
そのため、Python3.8までの場合に対応できるようにos.path.abspathによって絶対パスへ変換しています。