Python Glossary English

все Python 3Linux · macOSosфункция

os.fstatvfs

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

Как statvfs, но по открытому файловому дескриптору. Доступно на Unix.

Синтаксис

os.fstatvfs(...)

Отвечает про файловую систему того файла, который открыт, — даже если путь к нему с тех пор переименовали или смонтировали поверх другую систему. Поля те же, что у statvfs: свободное для пользователя место — f_bavail * f_frsize. На Windows недоступна, переносимая альтернатива — shutil.disk_usage.

Примеры

import os
fd = os.open('/', os.O_RDONLY)   # → ? только Unix: дескриптор каталога-точки монтирования
st = os.fstatvfs(fd)   # → ? только Unix: os.statvfs_result — та же структура, что у os.statvfs
print(st.f_bsize)   # → ? только Unix: предпочтительный размер блока ФС в байтах, например 4096
print(st.f_bavail * st.f_frsize // 1024 // 1024)   # → ? только Unix: свободно мегабайт для обычного пользователя, например 15340
print(os.fstatvfs(fd).f_blocks == os.statvfs('/').f_blocks)   # → ? только Unix: True — fstatvfs адресует ФС по дескриптору, statvfs по пути
os.close(fd)   # → ? только Unix: дескриптор освобождён

См. также

Частые ошибки

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