Python 3 - método os.access ()

Descripción

El método access()usa el uid / gid real para probar el acceso a la ruta. La mayoría de las operaciones usarán el uid / gid efectivo, por lo tanto, esta rutina se puede usar en un entorno suid / sgid para probar si el usuario que invoca tiene el acceso especificado a la ruta. Devuelve True si el acceso está permitido, False si no.

Sintaxis

A continuación se muestra la sintaxis de access() método -

os.access(path, mode)

Parámetros

path - Esta es la ruta que se probaría para la existencia o cualquier acceso.

mode - Debe ser F_OK para probar la existencia de la ruta, o puede ser el OR inclusivo de uno o más de R_OK, W_OK y X_OK para probar los permisos.

  • os.F_OK - Valor a pasar como parámetro de modo de acceso () para probar la existencia de ruta.

  • os.R_OK - Valor a incluir en el parámetro de modo de acceso () para probar la legibilidad de la ruta.

  • os.W_OK - Valor a incluir en el parámetro de modo de acceso () para probar la capacidad de escritura de la ruta.

  • os.X_OK - Valor a incluir en el parámetro de modo de acceso () para determinar si se puede ejecutar la ruta.

Valor devuelto

Este método devuelve True si se permite el acceso, False si no.

Ejemplo

El siguiente ejemplo muestra el uso del método access ().

#!/usr/bin/python3
import os, sys

# Assuming /tmp/foo.txt exists and has read/write permissions.

ret = os.access("/tmp/foo.txt", os.F_OK)
print ("F_OK - return value %s"% ret)

ret = os.access("/tmp/foo.txt", os.R_OK)
print ("R_OK - return value %s"% ret)

ret = os.access("/tmp/foo.txt", os.W_OK)
print ("W_OK - return value %s"% ret)

ret = os.access("/tmp/foo.txt", os.X_OK)
print ("X_OK - return value %s"% ret)

Resultado

Cuando ejecutamos el programa anterior, produce el siguiente resultado:

F_OK - return value True
R_OK - return value True
W_OK - return value True
X_OK - return value False