Сообщить об ошибке.

Модуль os.path в Python, операции с путями ОС

Общие манипуляции с путями файловой системы

Модуль os.path реализует некоторые полезные функции для манипулирования путями файловой системы. Параметры пути могут быть переданы в виде строк или байтов. Приложениям рекомендуется представлять имена файлов в виде (Unicode) символьных строк. К сожалению, некоторые имена файлов могут не представляться в виде строк в Unix, поэтому приложения, которым необходимо поддерживать произвольные имена файлов в Unix, должны использовать байтовые объекты для представления имен путей. И наоборот, использование байтовых объектов не может представлять все имена файлов в Windows в стандартной кодировке mbcs, поэтому приложениям Windows следует использовать строковые объекты для доступа ко всем файлам.

Для чтения или записи файлов смотрите встроенную функцию open(), а для доступа к файловой системе - модуль os.

В отличие от консоли Unix, Python не выполняет автоматическое расширение пути до абсолютного, если путь указан с пользовательскими символами '~' и '~user' . Такие функции, как os.path.expanduser() и os.path.expandvars() должны вызываться явным образом. Смотрите модуль glob, который ищет все пути, соответствующие указанному шаблону, в соответствии с правилами, используемыми оболочкой Unix.

Модуль pathlib реализует протокол os.PathLike, представляющий пути файловой системы с семантикой, подходящей для различных операционных систем и по сути объединяет в себе часто используемые функции из двух стандартных модулей os и os.path.

Примечания:

  • Все эти функции принимают в качестве параметров байты, строки, либо объект, реализующий протокол os.PathLike. Результатом будет является тот же тип, если функция возвращает путь или имя файла.
  • В стандартной библиотеке есть несколько версий этого модуля. Модуль os.path всегда генерирует пути, подходящие для операционной системы, в которой работает Python. Если необходимо манипулировать путями, которые отличаются от формата используемой системы, то можно импортировать и использовать версии модуля для определенного вида ОС. Все они имеют одинаковый интерфейс:
    • posixpath для путей в стиле UNIX
    • ntpath для путей Windows