Python 3.15+Linuxosпонятие
os.statx_result
os — файловая система
Результат os.statx: поля stx_size, stx_mtime, stx_btime и другие. Поле, которого нет в stx_mask, равно None, а не нулю.
Синтаксис
st = os.statx(path, mask)
st.stx_size, st.stx_btime, st.stx_mask
Имена полей начинаются с stx_, как в системном вызове: stx_size — размер, stx_mtime и stx_mtime_ns — время изменения, stx_btime — время создания (birth time). Главное отличие от os.stat_result — честное «нет данных»: если ядро или файловая система не вернули поле, вместо правдоподобного нуля стоит None — а вернуть его могут и без запроса в маске. Перед использованием поле проверяют на None или сверяют stx_mask с нужной константой STATX_*.
Примеры
import os
with open('demo.txt', 'w') as f:
f.write('hello')
st = os.statx('demo.txt', os.STATX_SIZE)
print(type(st).__name__, st.stx_size) # → statx_result 5
has_btime = bool(st.stx_mask & os.STATX_BTIME)
print(has_btime == (st.stx_btime is not None)) # → True — поле есть, только если бит в stx_mask
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности