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.curdir と os.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() を使うことをお勧めします。あくまでも、参考までに。