shutil.chown() în Python

Copiere și arhive (shutil) Python 3.3+ (Unix)

Schimbă proprietarul și/sau grupul unui fișier, folosind nume în loc de numere.

Sintaxă
shutil.chown(cale, user=None, group=None)

Ce face shutil.chown()

Spre deosebire de os.chown(), care cere numere (UID, GID), shutil.chown() acceptă și nume de utilizator și de grup. Trebuie dat cel puțin unul dintre ele. Schimbarea proprietarului cere de obicei drepturi de administrator; schimbarea grupului este permisă spre grupurile din care faci parte.

Parametri

Parametru Descriere
cale Fișierul.
user, group Numele sau numărul utilizatorului și al grupului.

Ce returnează

None.

Exemple

Exemplul 1: Schimbarea grupului

import shutil
from pathlib import Path
Path("raport.txt").touch()
shutil.chown("raport.txt", group="staff")
print(Path("raport.txt").group())
try:
    shutil.chown("raport.txt", user="root")
except PermissionError as e:
    print("Eroare:", e.strerror)

Rezultat posibil (utilizator obișnuit pe macOS)

staff
Eroare: Operation not permitted

Greșeli frecvente

  • Rulezi scriptul fără drepturi de administrator și primești PermissionError la schimbarea proprietarului.

Comenzi înrudite