Python Glossary English

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

os.statvfs

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

Возвращает статистику файловой системы по пути (размер блока, свободное место). Доступно на Unix.

Синтаксис

os.statvfs(...)

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

Примеры

import os
st = os.statvfs('/')   # → ? только Unix: статистика файловой системы, содержащей путь '/'
print(st.f_bsize)   # → ? только Unix: предпочтительный размер блока ФС, например 4096
print(round(st.f_bavail * st.f_frsize / 1024**3, 1))   # → ? только Unix: свободно гигабайт обычному пользователю, например 37.4
print(st.f_bfree >= st.f_bavail)   # → True — часть свободных блоков зарезервирована под root
print(os.statvfs('/нет-такого-пути'))   # → ? только Unix: FileNotFoundError

См. также

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

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