Python Glossary English

все 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Сообщить о неточности