Python 3.12+osфункция
os.path.isjunction
os.path — проверки существования и типа
Проверяет, является ли путь junction-точкой Windows (на других ОС всегда False; Python 3.12+).
Синтаксис
os.path.isjunction(path)
Junction — механизм NTFS, похожий на символическую ссылку на каталог, но не требующий особых прав; так устроены, например, некоторые системные папки. islink его не распознаёт, поэтому код, обходящий дерево на Windows, должен проверять обе функции, иначе рискует уйти в цикл. На других системах всегда False, ошибки не будет.
Примеры
import os
print(os.path.isjunction(os.__file__)) # → False
print(os.path.isjunction('нет-такого-пути')) # → False (несуществующий путь — не ошибка, просто False)
d = os.path.dirname(os.__file__)
print(os.path.isdir(d), os.path.islink(d), os.path.isjunction(d)) # → True False False (для junction на Windows было бы True False True)
print('junction' if os.path.isjunction(os.path.join(os.getcwd(), 'data_link')) else 'обычный путь') # → обычный путь (junction создаётся только на Windows: mklink /J)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности