все Python 3osфункция
os.path.normpath
os.path — разбор пути
Убирает избыточные разделители и переходы (`.`/`..`), приводя путь к каноничному виду.
Синтаксис
os.path.normpath(path)
Работает со строкой, не глядя на диск, и потому может изменить смысл пути: если 'a' — символическая ссылка, то 'a/../b' на диске и нормализованное 'b' — разные места. Для настоящего пути на диске нужна realpath. Пустая строка превращается в '.'. Два ведущих слеша на POSIX сохраняются ('//a'), три и больше сводятся к одному.
Примеры
import os
print(os.path.normpath('a/./')) # → a
print(os.path.normpath('a/b/..')) # → a
print(os.path.normpath('a/../нет-такого/../b')) # → b
print(os.path.normpath('')) # → .
print(os.path.normpath('link/..')) # → . — схлопывание чисто текстовое: если link был симлинком, настоящего родителя даст только os.path.realpath
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности