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

Par*_*and 66 python

使用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
Run Code Online (Sandbox Code Playgroud)

dfa*_*dfa 97

使用pwdgrp模块:

from pwd import getpwnam  

print getpwnam('someuser')[2]
# or
print getpwnam('someuser').pw_uid
print grp.getgrnam('somegroup')[2]
Run Code Online (Sandbox Code Playgroud)