Thursday, May 5, 2011

Python: finding uid/gid for a given username/groupname (for os.chown)

What's a good way to find the uid/gid for a given username or groupname using Python? I need to set file ownership with os.chown and need the integer ids instead of the alphabetic.

[Quick note]: getpwnam works great but is not available on windows, so here's some code that creates stubs to allow you to run the same code on windows and 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
From stackoverflow
  • Use the pwd and grp modules:

    from pwd import getpwnam  
    
    print getpwnam('someuser')[2]
    
    Parand : Excellent, thanks. I'd missed the pwd module somehow.
    dfa : You're welcome! :) (bookmark this: http://pydoc.org/)

0 comments:

Post a Comment