os.access() în Python

Verifică dacă procesul are drept de citire, scriere sau execuție asupra unui fișier.

Sintaxă
os.access(cale, mod)

Ce face os.access()

access(cale, mod) verifică permisiunile pentru utilizatorul real al procesului. Modul este os.F_OK (există), os.R_OK (citire), os.W_OK (scriere), os.X_OK (execuție), combinate cu |.

Între verificare și folosire, permisiunile se pot schimba, deci în majoritatea cazurilor este mai sigur să încerci operația și să prinzi PermissionError.

Parametri

Parametru Descriere
cale Fișierul.
mod F_OK, R_OK, W_OK, X_OK.

Ce returnează

True sau False.

Exemple

Exemplul 1: Drepturi asupra unor fișiere

import os
open("doar_citire.txt", "w").close()
os.chmod("doar_citire.txt", 0o444)
open("script.sh", "w").close()
os.chmod("script.sh", 0o755)
for f in ["doar_citire.txt", "script.sh", "lipsa"]:
    print(f, os.access(f, os.F_OK), os.access(f, os.R_OK), os.access(f, os.W_OK), os.access(f, os.X_OK))

Rezultat

doar_citire.txt True True False False
script.sh True True True True
lipsa False False False False

Greșeli frecvente

  • Rulezi ca root și te miri că W_OK este adevărat pentru fișiere doar-citire: administratorul ocolește permisiunile.

Comenzi înrudite