Ce face os.stat(), os.lstat() și os.fstat()
stat() returnează un obiect os.stat_result cu st_size (octeți), st_mode (tip și permisiuni), st_uid/st_gid (proprietar), st_mtime/st_atime/st_ctime (date), st_ino și st_dev (identificarea fișierului), st_nlink (numărul de legături fizice).
lstat() descrie legătura simbolică însăși, iar fstat(fd) un fișier deschis. Modulul stat are funcții pentru interpretarea lui st_mode (S_ISDIR, filemode).
Parametri
| Parametru | Descriere |
|---|---|
cale / fd |
Fișierul. |
follow_symlinks |
Dacă este False, se comportă ca lstat. |
Ce returnează
Un obiect os.stat_result.
Exemple
Exemplul 1: Informații despre un fișier
import os, stat
with open("date.csv", "w") as f:
f.write("a,b\n1,2\n")
os.chmod("date.csv", 0o640)
st = os.stat("date.csv")
print(st.st_size, stat.filemode(st.st_mode), st.st_nlink)
os.symlink("date.csv", "scurt")
print(stat.S_ISLNK(os.lstat("scurt").st_mode), stat.S_ISREG(os.stat("scurt").st_mode))
with open("date.csv") as f:
print(os.fstat(f.fileno()).st_size)
Rezultat
8 -rw-r----- 1
True True
8
Greșeli frecvente
- Faci mai multe apeluri
os.path.getsize,getmtime… pentru același fișier. Un singuros.statle dă pe toate.
Comenzi înrudite
Path.stat(), lstat(), chmod(), lchmod(), owner(), group(): Informații despre un fișier (mărime, date, permisiuni, proprietar) și schimbarea permisiunilor.os.path.getsize(), getmtime(), getatime(), getctime(): Mărimea unui fișier și momentele ultimei modificări, ale ultimului acces și ale schimbării.os.chmod(), fchmod(), lchmod(), chflags(), lchflags(): Schimbă permisiunile unui fișier și, pe BSD/macOS, flag-urile speciale.