Python: buscar uid / gid para un nombre de usuario / nombre de grupo dado (para os.chown)

¿Cuál es una buena manera de encontrar el uid / gid para un nombre de usuario o grupo dado usando Python? Necesito establecer la propiedad del archivo con os.chown y necesito los identificadores de enteros en lugar del alfabético.

[Nota rápida]: getpwnam funciona muy bien pero no está disponible en Windows, por lo que aquí hay un código que crea apéndices que le permiten ejecutar el mismo código en Windows y 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 

Utilice los módulos pwd y grp :

 from pwd import getpwnam print getpwnam('someuser')[2] # or print getpwnam('someuser').pw_uid