2009-05-05 12 views
58

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

[Nota rápida]: getpwnam funciona muy bien, pero no está disponible en Windows, así que aquí hay un código que crea stubs para que pueda 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 
+0

posible duplicado de [script Python a la lista de usuarios y grupos] (http://stackoverflow.com/questions/421618/python-script-to -list-users-and-groups) – chown

Respuesta

88

Utilice los pwd y grp módulos:

from pwd import getpwnam 

print getpwnam('someuser')[2] 
# or 
print getpwnam('someuser').pw_uid 
+0

Excelente, gracias. Me perdí el módulo pwd de alguna manera. – Parand

Cuestiones relacionadas