2009-05-05 11 views
58

Jaki jest dobry sposób na znalezienie uid/gid dla danej nazwy użytkownika lub grupy przy pomocy Pythona? Muszę ustawić własność pliku za pomocą os.chown i potrzebuję liczb całkowitych ids zamiast alfabetu.Python: znajdowanie uid/gid dla podanej nazwy użytkownika/nazwy grupy (dla os.chown)

[Szybka uwaga]: getpwnam działa świetnie, ale nie jest dostępna w systemie Windows, więc oto kod, który tworzy kody pośredniczące, umożliwiające uruchomienie tego samego kodu w systemie Windows i systemie 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

możliwe duplikat [skrypt Pythona na liście użytkowników i grup] (http://stackoverflow.com/questions/421618/python-script-to -list-users-and-groups) – chown

Odpowiedz

88

Użyj pwd i grp moduły:

from pwd import getpwnam 

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

Doskonale, dziękuję. Jakoś przeoczyłem moduł pwd. – Parand

Powiązane problemy