все Python 3osфункция
os.path.relpath
os.path — разбор пути
Возвращает путь к path относительно каталога start.
Синтаксис
os.path.relpath(path, start=os.curdir)
Считает путь по строкам и на диск не смотрит, поэтому работает и для несуществующих путей, но не учитывает символические ссылки. По умолчанию start — текущий каталог, то есть результат зависит от того, откуда запущена программа. На Windows для путей на разных дисках поднимается ValueError: относительного пути между C: и D: не бывает.
Примеры
import os
print(os.path.relpath('/a/b/c', '/a/b')) # → c
print(os.path.relpath('/a/b', '/a/b')) # → .
print(os.path.relpath('/a', '/a/b')) # → .. — если цель выше start, путь строится через переходы вверх
print(os.path.relpath('/нет-такого/файл.txt', '/нет-такого')) # → файл.txt — файлы могут не существовать, relpath работает с текстом пути
print(os.path.relpath('/a/b/c')) # → путь к /a/b/c от текущего каталога (start по умолчанию — os.curdir), например ../../a/b/c
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности