¿Cómo puedo obtener las ID de propietario y grupo de un directorio usando Python bajo Linux?¿Cómo obtener el propietario y el grupo de una carpeta con Python en una máquina Linux?
Respuesta
Use os.stat()
para obtener el uid y el 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
que tienden a utilizar os.stat:
realizar una llamada a sistema de estadísticas sobre la ruta dada. El valor devuelto 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
(id de usuario de propietario),st_gid
(identificador del grupo del propietario),st_size
(tamaño de archivo, en bytes),st_atime
(momento de mayor acceso reciente),st_mtime
(tiempo de la modificación más contenidos recientes),st_ctime
(dependiente de la plataforma, el tiempo de más reciente cambio de metadatos en Unix, o el momento de la creación en Windows)
Hay un ejemplo en el enlace al os.stat
anterior.
Utilice la función os.stat
.
Uso 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 más información que se puede consultar a través del stat
.
Como Python 3.4.4, la clase de Path
pathlib
módulo proporciona una buena sintaxis 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())
- 1. ¿Cómo puedo usar el escritorio remoto para una máquina con Windows desde una máquina con Linux?
- 2. Cómo cambiar el propietario de una rsync
- 3. Encontrar el propietario y el grupo de un archivo (como una cadena)
- 4. ¿Cómo obtener el nombre del propietario del archivo en Linux usando C++?
- 5. Ejecutando Python en una máquina Windows vs Linux
- 6. ¿Cómo desbloqueo una carpeta/archivo en Linux?
- 7. Usando la función de estadísticas de Python para obtener de manera eficiente el propietario, grupo y otros permisos
- 8. Crear una carpeta nueva usando el Programa Java en máquinas con Windows y Linux
- 9. Copiar automáticamente archivos de una máquina Linux a una máquina con Windows
- 10. ¿Cómo obtener el nombre del archivo en una carpeta?
- 11. Cambiar el propietario de un proceso existente en Linux
- 12. Cómo encontrar el nombre de la carpeta de documentos comunes en una máquina de red
- 13. Exportación de una carpeta zope con python
- 14. ¿Cómo eliminar completamente Python de una máquina con Windows?
- 15. ¿Cómo puedo ejecutar una aplicación OpenGL instalada en una máquina Linux desde mi máquina Windows?
- 16. ¿Forma estándar de abrir una ventana de carpeta en Linux?
- 17. Permiso de grupo de cambio de Linux para que coincida con los permisos del propietario
- 18. Cómo obtener el máximo rendimiento en la máquina Solaris
- 19. Obtener archivos en una carpeta
- 20. ¿Cómo obtengo mis especificaciones CUDA en una máquina Linux?
- 21. Cómo hacer archivos en la carpeta Linux con permiso de escritura de grupo predeterminado
- 22. obtener ID de grupo por nombre de grupo (Python, Unix)
- 23. Cómo cambiar el propietario de una ventana usando su identificador
- 24. ¿Cómo obtener el paquete fuente con aptitude en Linux?
- 25. ¿Cómo obtener la lista de archivos con una extensión específica en una carpeta determinada?
- 26. Obtener grupo de usuarios en una plantilla
- 27. Abrir una carpeta en el explorador y seleccionar un archivo
- 28. Instalar módulos de Python de terceros en una máquina Ubuntu Linux?
- 29. ¿Cómo crear una carpeta en el directorio de inicio?
- 30. ¿Cómo puedo comprimir una carpeta y enviar por correo electrónico el archivo comprimido en Python?