Python Glossary English

все Python 3osфункция

os.path.join()

os.path

Объединяет компоненты пути с учётом ОС. Абсолютный компонент сбрасывает предыдущие части.

Синтаксис

os.path.join(path, *paths) -> str

Абсолютный компонент отбрасывает всё, что было до него: join('data', '/etc/passwd') вернёт '/etc/passwd'. Поэтому склеивать базовый каталог с именем от пользователя опасно — проверьте результат через realpath и commonpath. Пустой последний компонент добавляет разделитель: join('a', '') даёт 'a/'. Для новой работы удобнее pathlib.Path и оператор /, но поведение с абсолютным компонентом у него то же.

Примеры

import os
print(os.path.join('home', 'user', 'file.txt'))  # → home/user/file.txt
print(os.path.join('/etc', 'nginx', 'conf'))  # → /etc/nginx/conf
base = '/var/log'
print(os.path.join(base, 'app.log'))  # → /var/log/app.log
print(os.path.join('a/b', '../c'))  # → a/b/../c
print(os.path.join('a', '/abs'))  # → /abs  (абсолютный сбрасывает)

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности