Python Glossary English

все Python 3osпонятие

os.stat_result

os — файловая система

Тип результата os.stat()/os.fstat(): объект с полями st_size, st_mode, st_mtime и др.

Синтаксис

os.stat(path)  # → os.stat_result

Ведёт себя и как объект с полями, и как кортеж из десяти элементов — индексы остались для совместимости, но поля читаются понятнее: st.st_size вместо st[6]. Целые секунды в индексах против дробных в полях — частый источник путаницы. Набор дополнительных полей зависит от системы: st_birthtime, например, есть не везде.

Примеры

import os
print(isinstance(os.stat(os.__file__), os.stat_result))   # → True
res = os.stat(os.__file__)
print(res.st_size > 0, res.st_mtime > 0)   # → True True — размер в байтах и время последней записи в секундах эпохи
print(len(tuple(res)))   # → 10 — stat_result ведёт себя как кортеж из десяти классических полей
print(res[6] == res.st_size)   # → True — шестой элемент кортежной части и есть размер
res.st_size = 0   # → AttributeError: readonly attribute — поля stat_result неизменяемы

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности