Python で絶対パスを取得する

Python でファイル名を渡して絶対パスを取得する

ファイル名から絶対パスを取得するためには、 os.path.abspath() 関数が使えます。

import os
print(os.path.abspath('foo.txt'))
# /Users/user1/docs/dir1/foo.txt

この場合、ファイルが現在のディレクトリに存在するものとされます。

現在のディレクトリは os.getcwd() で取得できます。 os.path.abspath() の結果は、 os.getcwd()os.path.abspath() に渡したパスを結合して正規化した結果となります。

os.path.abspath() で現在のパスを取得する

現在のパスを取得するためには通常、「Python で現在のディレクトリを取得する」で書いたように、 os.getcwd() を使います。

os.path.abspath() 関数を使って、現在のディレクトリを取得することもできます。

現在のディレクトリを表す '.' または os.curdiros.path.abspath() を組み合わせることで、次のようにできます。

import os
s = os.path.abspath(os.curdir) # os.curdir = '.'
print(s)
os.chdir(os.pardir) # os.pardir = '..'
s = os.path.abspath(os.curdir)
print(s)

この書き方は os.getcwd() と比べて長く、間接的であり、良い点が見当たらないので実際に現在のディレクトリを取得する場合は、 os.getcwd() を使うことをお勧めします。あくまでも、参考までに。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門