あるファイルやフォルダが別のあるファイルやフォルダから見た相対パスを出す


概要


import os
した後に

os.path.relpath(ファイルの絶対パス1,ファイルの絶対パス2)

で、パス2から見たパス1の相対パスを出す。


print(os.path.relpath('C:\\Windows','C:\\'))
print(os.path.relpath('C:/Windows','C:/'))

osをインポートする
C:\\から見てC:\\Windowsの相対パスはを出せ
C:/から見てC:/Windowsの相対パスを出せ

出力


Windows
Windows

説明


間違えやすい問題


os.path.relpath(r'C:\Windows',r'C:\')

にするとエラーになる。バックスラッシュをスラッシュにすると

os.path.relpath(r'C:/Windows',r'C:/')

でうまくいくのでやはりバックスラッシュよりスラッシュを使うのが良い