¿Cómo obtener el propietario y el grupo de una carpeta con Python en una máquina con Linux?

¿Cómo puedo obtener las identificaciones de propietario y grupo de un directorio usando Python en Linux?

Use os.stat() para obtener el uid y gid del archivo. Luego, use pwd.getpwuid() y grp.getgrgid() para obtener los nombres de usuario y grupo respectivamente.

 import grp import pwd import os stat_info = os.stat('/path') uid = stat_info.st_uid gid = stat_info.st_gid print uid, gid user = pwd.getpwuid(uid)[0] group = grp.getgrgid(gid)[0] print user, group 

Desde Python 3.4.4, la clase Path del módulo pathlib proporciona una buena syntax para esto:

 from pathlib import Path whatever = Path("relative/or/absolute/path/to_whatever") if whatever.exists(): print("Owner: %s" % whatever.owner()) print("Group: %s" % whatever.group()) 

Tiendo a usar os.stat :

Realizar una llamada al sistema de estadísticas en la ruta dada. El valor de retorno es un objeto cuyos atributos corresponden a los miembros de la estructura estadística, a saber: st_mode (bits de protección), st_ino (número de inodo), st_dev (dispositivo), st_nlink (número de enlaces duros), st_uid (identificación de usuario del propietario ), st_gid (ID de grupo del propietario) , st_size (tamaño del archivo, en bytes), st_atime (tiempo del acceso más reciente), st_mtime (tiempo de la modificación del contenido más reciente), st_ctime (depende de la plataforma; tiempo del cambio de metadatos más reciente en Unix, o el tiempo de creación en Windows)

Hay un ejemplo en el enlace a os.stat arriba.

Utilice la función os.stat .

Utilice os.stat :

 >>> s = os.stat('.') >>> s.st_uid 1000 >>> s.st_gid 1000 

st_uid es el ID de usuario del propietario, st_gid es el ID de grupo. Consulte la documentación vinculada para obtener otra información que se puede obtener a través de stat .