環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Pythonの実行ファイルとカレント・ディレクトリの絶対パスを取得する

最終更新日 2023.02.18

Python の実行ファイルと、そのファイルがあるディレクトリの絶対パスは次のように取得します。

import os

f = os.path.abspath(__file__)

d = os.path.dirname(os.path.abspath(__file__))

print(f)
# /Users/serif/python/test/c.py

print(d)
# /Users/serif/python/test

このプログラム・ファイルは c.py です。f にファイルの絶対パス、d にカレント・ディレクトリの絶対パスが入っています。ディレクトリのパスは最後にスラッシュがついていませんが、これは環境に依存する可能性があります。

実行ファイルの絶対パス

os.path.abspath(__file__)

カレント・ディレクトリの絶対パス

os.path.dirname(os.path.abspath(__file__))

実行ファイルと同じ階層にあるファイル一覧を取得する

カレント・ディレクトリのパス d を listdir に入れて取得します。

import os

f = os.path.abspath(__file__)

d = os.path.dirname(os.path.abspath(__file__))

print(f)
# /Users/serif/python/test/c.py

print(d)
# /Users/serif/python/test

a = os.listdir(d)

print(a)
# ['a.py', 'test.csv', 'c.py', 'b.py', 'test.txt', '.idea']

実行ファイルと同じ階層にあるファイルの名前がリストで返りました。