タイトル通り、実行したファイルが格納されているディレクトリのパスを取得したいという場合、Python3ではどのように書くべきでしょうか? まずはos.path
を利用する場合。取得パスが相対パスでよいというときは次のように書きます。
import os.path
directory = os.path.dirname(__file__)
相対パスではなく、絶対パスがほしい場合は次の通りです。
import os.path
directory = os.path.dirname(os.path.abspath(__file__))
次にファイルパスを抽象化したクラスであるpathlib.Path
を利用する場合を考えます(os.path
ではファイルパスを文字列で扱う)。
まずは相対パスの場合。
import pathlib
directory = pathlib.Path(__file__).parent
次に絶対パス。
import pathlib
directory = pathlib.Path(__file__).parent.resolve()
os.path
にしろpathlib
にしろ、とてもシンプルに書けますね(´・ω・`)