Ce face os.path.getsize(), getmtime(), getatime(), getctime()
getsize() returnează mărimea în octeți. getmtime() dă momentul ultimei modificări a conținutului, getatime() al ultimului acces, iar getctime() momentul ultimei schimbări a metadatelor pe Unix (pe Windows, momentul creării). Momentele sunt timestamp-uri Unix (float).
Pentru o cale inexistentă, toate aruncă FileNotFoundError. Dacă ai nevoie de mai multe informații deodată, os.stat() le dă dintr-un singur apel.
Parametri
| Parametru | Descriere |
|---|---|
cale |
Calea fișierului. |
Ce returnează
getsize: int. Celelalte: float (timestamp).
Exemple
Exemplul 1: Mărimea unui fișier
import os
with open("date.txt", "w", encoding="utf-8") as f:
f.write("Brașov\n" * 100)
print(os.path.getsize("date.txt"), "octeți")
os.utime("date.txt", (1792411200, 1792411200))
print(os.path.getmtime("date.txt"), os.path.getatime("date.txt"))
Rezultat
800 octeți
1792411200.0 1792411200.0
Exemplul 2: Ultima modificare, ca dată
import os
from datetime import datetime
for nume in ["date.txt", "raport.pdf"]:
m = datetime.fromtimestamp(os.path.getmtime(nume))
c = datetime.fromtimestamp(os.path.getctime(nume))
print(f"{nume}: modificat {m:%d.%m.%Y %H:%M}, schimbat {c:%d.%m.%Y %H:%M}")
Rezultat posibil (diferă la fiecare rulare)
date.txt: modificat 19.10.2026 14:32, schimbat 19.10.2026 14:32
raport.pdf: modificat 02.09.2026 10:15, schimbat 02.09.2026 10:15
Greșeli frecvente
- Te aștepți ca
getctime()să fie data creării pe Linux. Acolo este momentul ultimei schimbări de metadate (permisiuni, redenumire).
Comenzi înrudite
os.stat(), os.lstat() și os.fstat(): Toate informațiile despre un fișier: mărime, permisiuni, proprietar, date.Path.stat(), lstat(), chmod(), lchmod(), owner(), group(): Informații despre un fișier (mărime, date, permisiuni, proprietar) și schimbarea permisiunilor.timestamp() și fromtimestamp(): Conversia între date și timestamp-uri Unix (secunde de la 1 ianuarie 1970 UTC).