2009-05-05 9 views
58

Quel est un bon moyen de trouver l'uid/gid pour un nom d'utilisateur ou un nom de groupe donné en utilisant Python? J'ai besoin de définir la propriété des fichiers avec os.chown et j'ai besoin des id entiers au lieu de l'alphabétique.Python: trouver uid/gid pour un nom d'utilisateur/nom de groupe donné (pour os.chown)

[Note rapide]: getpwnam fonctionne très bien mais n'est pas disponible sous Windows, alors voici un code qui crée des stubs pour vous permettre d'exécuter le même code sous windows et 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

double possible de [script Python à la liste des utilisateurs et des groupes] (http://stackoverflow.com/questions/421618/python-script-to -list-users-and-groups) – chown

Répondre

88

Utilisez les pwd et grp modules:

from pwd import getpwnam 

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

Excellent, merci. J'avais manqué le module pwd d'une façon ou d'une autre. – Parand

Questions connexes