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_OKeste adevărat pentru fișiere doar-citire: administratorul ocolește permisiunile.
Comenzi înrudite
os.chmod(), fchmod(), lchmod(), chflags(), lchflags(): Schimbă permisiunile unui fișier și, pe BSD/macOS, flag-urile speciale.os.path.exists() și os.path.lexists(): Verifică dacă un fișier sau director există.