# 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`。

  3.6 版後已棄用: 从 Python 3.6 开始，不再支持对 `getgrgid()` 中的 float 或 string 等非 integer 参数的支持。

`grp.``getgrnam`(name)

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

`grp.``getgrall`()

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

也參考

模块 `pwd`

  用户数据库的接口，与此类似。

模块 `spwd`

  针对影子密码数据库的接口，与本模块类似。