все Python 3osфункция
os.lstat
os — файловая система
Как stat, но не следует по символической ссылке (описывает саму ссылку).
Синтаксис
os.lstat(path)
Нужна, чтобы отличить ссылку от того, на что она указывает: stat.S_ISLNK(os.lstat(p).st_mode). Для битой ссылки работает без ошибки, тогда как os.stat поднимет FileNotFoundError. Для обычного файла результат совпадает с os.stat. Тот же результат даёт os.stat(p, follow_symlinks=False).
Примеры
import os
import stat
print(os.lstat(os.__file__).st_size > 0) # → True
print(os.lstat(os.__file__).st_size == os.stat(os.__file__).st_size) # → True — на обычном файле lstat и stat дают одно и то же
os.symlink(os.__file__, 'ссылка-на-os.py') # → создана символическая ссылка (на Windows нужны права разработчика)
print(stat.S_ISLNK(os.lstat('ссылка-на-os.py').st_mode), stat.S_ISLNK(os.stat('ссылка-на-os.py').st_mode)) # → True False — lstat видит саму ссылку, stat идёт по ней до цели
os.remove('ссылка-на-os.py') # → временная ссылка удалена
print(os.lstat('нет-такого-файла.txt')) # → FileNotFoundError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности