Python Glossary English

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