все Python 3statфункция
stat.S_ISLNK()
тип файла
Проверяет по st_mode, что объект — символическая ссылка. Работает только с режимом из os.lstat().
Синтаксис
stat.S_ISLNK(os.lstat(path).st_mode)
Главная ловушка: os.stat() проходит по ссылке и возвращает режим цели, поэтому S_ISLNK(os.stat(p).st_mode) всегда False. Нужен os.lstat(p), os.stat(p, follow_symlinks=False) или DirEntry.stat(follow_symlinks=False). На Windows создание ссылки os.symlink() требует режима разработчика или прав администратора.
Примеры
import os, stat
open('target.txt', 'w').close()
os.symlink('target.txt', 'link.txt')
print(stat.S_ISLNK(os.stat('link.txt').st_mode)) # → False — stat() прошёл по ссылке
print(stat.S_ISLNK(os.lstat('link.txt').st_mode)) # → True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности