2009-05-05 2 views
58

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

[Quick note]: getpwnam отлично работает, но недоступен в окнах, поэтому здесь приведен код, который создает заглушки, чтобы вы могли запускать один и тот же код на 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 
+0

возможно дубликат [сценарий Python в список пользователей и групп] (http://stackoverflow.com/questions/421618/python-script-to -list-users-and-groups) – chown

ответ

88

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

from pwd import getpwnam 

print getpwnam('someuser')[2] 
# or 
print getpwnam('someuser').pw_uid 
+0

Отлично, спасибо. Я как-то пропустил модуль pwd. – Parand

Смежные вопросы