1、pwd模块,提供了一个Unix 密码数据库(/etc/passwd)的接口,这个数据库包含本地机器用户账户信息。

pwd.getpwuid(uid):
返回对应uid的用户信息

pwd.getpwnam(name):
返回对应name的用户信息

pwd.getpwall():
返回所有用户信息

1import pwd
2def get_user():
3  all_user = {}
4  for user in pwd.getpwall():
5    all_user[user[0]] = all_user[user[2]] = user
6  return all_user
7def userinfo(uid):
8  return get_user()[uid]

调用执行的结果:

1print userinfo(0)
2pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')
3print userinfo('root')
4pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')

2、grp模块,提供了一个Unix 用户组/group(/etc/group)数据库的接口

grp.getgrgid(gid):
返回对应gid的组信息

grp.getgrname(name):
返回对应group name的组信息

grp.getgrall():
返回所有组信息

pwd和grp的用法都十分相似,对于操作linux系统用户和组十分方便灵活,推荐使用。