Ce face os.statvfs() și os.fstatvfs()
statvfs() returnează informații despre sistemul de fișiere care conține calea: f_frsize (mărimea unui bloc), f_blocks (blocuri totale), f_bfree (blocuri libere), f_bavail (blocuri libere pentru utilizatorii obișnuiți), f_files/f_ffree (inode-uri) și f_namemax. fstatvfs() lucrează pe un fișier deschis. Pentru spațiul liber, shutil.disk_usage() este mai simplu.
Parametri
| Parametru | Descriere |
|---|---|
cale / fd |
Orice fișier de pe sistemul de fișiere verificat. |
Ce returnează
Un obiect os.statvfs_result.
Exemple
Exemplul 1: Spațiu liber calculat manual
import os
s = os.statvfs("/")
liber = s.f_bavail * s.f_frsize
print(f"liber: {liber / 1024**3:.1f} GB, nume max: {s.f_namemax}")
with open("/etc/hosts") as f:
print(os.fstatvfs(f.fileno()).f_frsize)
Rezultat posibil (diferă la fiecare rulare)
liber: 248.3 GB, nume max: 255
4096
Greșeli frecvente
- Folosești
f_bfreepentru spațiul disponibil: include blocurile rezervate pentru administrator. Foloseștef_bavail.
Comenzi înrudite
shutil.disk_usage(): Spațiul total, folosit și liber de pe discul pe care se află o cale.os.sysconf(), confstr(), pathconf() și fpathconf(): Limitele și setările sistemului: mărimea paginii de memorie, lungimea maximă a numelor de fișier etc.