2009-05-05 10 views
58

Qual è un buon modo per trovare l'uid/gid per un dato nome utente o gruppo usando Python? Devo impostare la proprietà dei file con os.chown e ho bisogno degli ID interi anziché dell'alfabetico.Python: trovare uid/gid per un dato nome utente/nome gruppo (per os.chown)

[Nota rapida]: getpwnam funziona alla grande ma non è disponibile su Windows, quindi ecco un codice che crea degli stub per permetterti di eseguire lo stesso codice su Windows e 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

possibile duplicato del [script Python per elencare gli utenti ei gruppi] (http://stackoverflow.com/questions/421618/python-script-to -list-users-and-groups) – chown

risposta

88

Utilizzare le pwd e grp moduli:

from pwd import getpwnam 

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

Eccellente, grazie. In qualche modo mi ero perso il modulo PWD. – Parand

Problemi correlati