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']
実行ファイルと同じ階層にあるファイルの名前がリストで返りました。