import os.path os.path.join(path, *paths)
path
- начальный путь,*paths
- компоненты пути.path
и компонентов *paths
.Функция join()
модуля os.path
правильно соединяет переданный путь path
к одному или более компонентов пути *paths
. Возвращаемое значение представляет собой конкатенацию пути path
и компонентов пути *paths
с ровно одним разделителем каталогов os.sep
, следующим за каждой непустой частью кроме последней. Это означает, что результат будет заканчиваться разделителем только в том случае, если последняя часть пуста.
Если компонент является абсолютным путем, все предыдущие компоненты отбрасываются, и соединение продолжается с компонента абсолютного пути.
В Windows буква диска не сбрасывается при обнаружении компонента абсолютного пути, например r'\foo'. Если компонент содержит букву диска, все предыдущие компоненты отбрасываются и буква диска сбрасывается. Поскольку для каждого диска имеется текущий каталог os.path.join('c:', 'foo')
представляет путь относительно текущего каталога на диске C:
- c:foo
, а не c:\\foo
.
Аргументы path
и *paths
должны быть одного типа и могут быть как байтовыми строками или текстовыми строками. Результатом будет является тот же тип.
Функция os.path.join()
может принимать объект, представляющий путь к файловой системе, например такой как pathlib.PurePath
.
>>> import os.path >>> os.path.join('home', 'User', 'Desktop', 'file.txt') # 'home/User/Desktop/file.txt' >>> os.path.join('/home', 'User/Desktop', 'file.txt') # '/home/User/Desktop/file.txt' >>> os.path.join('/home', '/User/Desktop', 'file.txt') # '/User/Desktop/file.txt' >>> os.path.join('User/Desktop', '/home', 'file.txt') # '/home/file.txt'