Python: 查找给定用户名/组名的 uid/gid (对于 os.chown)

使用 Python 查找给定用户名或组名的 uid/gid 的好方法是什么?我需要使用 os.chown 设置文件所有权,并且需要使用整数 id 而不是字母表。

[快速提示] : getpwnam 工作得很好,但是在 windows 上不可用,所以这里有一些创建存根的代码,允许您在 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
48824 次浏览

Use the pwd and grp modules:

from pwd import getpwnam


print getpwnam('someuser')[2]
# or
print getpwnam('someuser').pw_uid
print grp.getgrnam('somegroup')[2]