Python Glossary English

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