all Python 3Linux · macOSosfunction
os.fstatvfs
os — file system
Like statvfs, but by an open file descriptor. Availability: Unix.
Syntax
os.fstatvfs(...)
It reports on the filesystem of the file that is open — even if its path was renamed or another filesystem was mounted over it since. The fields match statvfs: user-available space is f_bavail * f_frsize. It is unavailable on Windows; shutil.disk_usage is the portable alternative.
Examples
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: дескриптор освобождён
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy