Если вы прочитаете документацию модуля grp , вы увидите, что grp.getgrnam (имя группы) вернет одну запись из базы данных группы, которая является объектом, подобным кортежу. Вы можете получить доступ к информации по индексу или по атрибуту:
>>> import grp
>>> groupinfo = grp.getgrnam('root')
>>> print groupinfo[2]
0
>>> print groupinfo.gr_gid
0
Другими записями являются имя, зашифрованный пароль (обычно пустой, если используется теневой файл, это будет фиктивное значение) и имена всех членов группы. Это прекрасно работает на любой системе Unix, включая мой ноутбук Mac OS X:
>>> import grp
>>> admin = grp.getgrnam('admin')
>>> admin
('admin', '*', 80, ['root', 'admin', 'mj'])
>>> admin.gr_name
'admin'
>>> admin.gr_gid
80
>>> admin.gr_mem
['root', 'admin', 'mj']
Модуль также предлагает метод для получения записей по gid и, как вы обнаружили, метод для циклического перебора всех записей в базе данных:
>>> grp.getgrgid(80)
('admin', '*', 80, ['root', 'admin', 'mj'])
>>> len(grp.getgrall())
73
И последнее, но не менее важное: python предлагает аналогичные функции для получения информации о файлах паролей и теней в модулях pwd и spwd , которые имеют похожий API.