# 35.4. `grp` - 组数据库

此模块提供对Unix组数据库的访问。它在所有Unix版本上可用。

组数据库条目被报告为类元组对象，其属性对应于`group`结构的成员（下面的属性字段，参见`<pwd.h>`）：

指数 | 属性 | 含义
--- | --- | ---
0 | gr_name | 组的名称
1 | gr_passwd | （加密）组密码；经常空
2 | gr_gid | 数字组ID
3 | gr_mem | 所有组成员的用户名

gid是一个整数，名称和密码是字符串，成员列表是一个字符串列表。（请注意，大多数用户没有根据密码数据库显式列为他们所在组的成员。检查这两个数据库以获取完整的成员资格信息。另请注意，以`+`或`-`开头的`gr_name`可能是YP / NIS参考，可能无法通过`getgrnam()`或`getgrgid()`。）

它定义以下项目：

`grp.``getgrgid`(gid)

  返回给定数字组ID的组数据库条目。如果无法找到要求的条目，则会引发`KeyError`。

`grp.``getgrnam`(name)

  返回给定组名的组数据库条目。如果无法找到要求的条目，则会引发`KeyError`。

`grp.``getgrall`()

  以任意顺序返回所有可用组条目的列表。

也可以看看

模块`pwd`
  与用户数据库的接口，类似于此。
模块`spwd`
  一个到shadow密码数据库的接口，类似这样。