Python прикладывает множество усилий чтобы скрыть все различия операционных систем. Если смотреть на файлы, а точнее на пути файлов, то легко можно заметить различия между Linux и Windows:

C:\Program Files (x86)
/home/user/documents

Слэши в разные стороны. Чтобы не концентрировать внимание на таких отличиях стоит использовать модуль os.path

os.path является вложенным модулем в модуль os, и реализует некоторые полезные функции на работы с путями.

В этом модуле много функций. Хочется обратить на:

os.path.abspath(path) - возвращает нормализованный абсолютный путь.

os.path.basename(path) - базовое имя пути (название файла)

os.path.normpath(path) - нормализует путь, убирая избыточные разделители и ссылки на предыдущие директории. На Windows преобразует прямые слеши в обратные.

os.path.realpath(path) - возвращает канонический путь, убирая все символические ссылки (если они поддерживаются).

os.path.split(path) - разбивает путь на кортеж (голова, хвост), где хвост - последний компонент пути, а голова - всё остальное. Хвост никогда не начинается со слеша (если путь заканчивается слешем, то хвост пустой). Если слешей в пути нет, то пустой будет голова.



Комментарии