Подтвердить что ты не робот

Python: поиск uid/gid для заданного имени пользователя /groupname (для os.chown)

Какой хороший способ найти uid/gid для данного имени пользователя или имени группы с помощью Python? Мне нужно установить права собственности на файл с os.chown и вам нужно использовать идентификаторы integer вместо алфавита.

[Быстрая заметка]: getpwnam отлично работает, но недоступен в Windows, поэтому здесь есть код, который создает заглушки, чтобы вы могли запускать один и тот же код на windows и unix.

try:
    from pwd import getpwnam
except:
    getpwnam = lambda x: (0,0,0)
    os.chown = lambda x, y, z: True
    os.chmod = lambda x, y: True
    os.fchown = os.chown
    os.fchmod = os.chmod
4b9b3361

Ответ 1

Используйте модули pwd и grp:

from pwd import getpwnam  

print getpwnam('someuser')[2]
# or
print getpwnam('someuser').pw_uid
print grp.getgrnam('somegroup')[2]