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


概要


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の相対パスを出せ
        
      

print出力

        
Windows
Windows
        
      

説明



  

間違えやすい問題


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

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

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

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