Python Glossary English

Python 3.3+Linux · macOSshutilфункция

shutil.chown()

система и окружение

Меняет владельца и/или группу файла; принимает имена пользователей и групп, а не только числовые id. Только Unix (Linux, macOS).

Синтаксис

shutil.chown(path, user=None, group=None, *, dir_fd=None, follow_symlinks=True)

В отличие от os.chown, которому нужны оба числа (uid и gid, -1 — «не менять»), здесь можно указать что-то одно и по имени: chown(p, group='www-data'). Без user и group — ValueError, неизвестное имя — LookupError. Сменить владельца на чужого может только root: обычный пользователь получит PermissionError. На Windows функции нет вовсе.

Примеры

import os, shutil
open('a.txt', 'w').close()
shutil.chown('a.txt', group=os.getgid())  # своя группа — разрешено всем
try:
    shutil.chown('a.txt')
except ValueError as e:
    print(e)  # → user and/or group must be set
try:
    shutil.chown('a.txt', user='no_such_user_xyz')
except LookupError as e:
    print(e)  # → no such user: 'no_such_user_xyz'

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности