相対パスで表示された指定のフォルダやファイル名を絶対パスで表示する


概要


import os
した後に

os.path.abspath(指定のファイル名やフォルダ名の相対パス)

その相対パスを絶対パスに変換する


import os
print(os.path.abspath(r'files'))
print(os.path.abspath(r'textFile\class_class__eq__01.txt'))

print(os.path.abspath('.'))
print(os.path.abspath('./'))
print(os.path.abspath('../'))
print(os.path.abspath('../../'))

osをインポートする
このpythonファイル(現在のフォルダ)と同じ場所のfilesを絶対パスで示せ
このpythonファイル(現在のフォルダ)と同じところにあるtextFileフォルダの中のtext.txtファイルを絶対パスで示せ

このpythonファイル(現在のフォルダ)の絶対パスを示せ
このpythonファイル(現在のフォルダ)の絶対パスを示せ
このpythonファイル(現在のフォルダ)の一つ上の絶対パスを示せ
このpythonファイル(現在のフォルダ)の二つ上の絶対パスを示せ

出力


C:\Users\MyName\Documents\files
C:\Users\MyName\Documents\textFile\text.txt

C:\Users\MyName\Documents
C:\Users\MyName\Documents
C:\Users\MyName
C:\Users
(使用するパソコンによって異なる)

説明


指定のファイルやフォルダは存在しなくてもいい
その時は「もしそのファイルが存在したら絶対パスは○○」という意味になる

実質的には、指定フォルダの上にこのpythonファイルがある場所のパスをくっつけたようなもの

よくわからなければ、とりあえず
ファイルやフォルダを指定すれば絶対パスに変換してくれる、と覚えておけばいい

現在のフォルダは
'.'
あるいは
'./'
一つ上の階層は
'../'
二つ上は
'../../'
となっていくのでこれは覚えておくといい。

間違えやすい問題


windowsだとハードディスク内のファイルやフォルダでは絶対パスに
C:
がつく。
C:\Users
のような書き方をする。