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