Python 3 - Método os.access ()

Descrição

O método access()usa o uid / gid real para testar o acesso ao caminho. A maioria das operações usará o uid / gid efetivo, portanto, esta rotina pode ser usada em um ambiente suid / sgid para testar se o usuário de chamada tem o acesso especificado para o caminho. Retorna True se o acesso é permitido, False se não.

Sintaxe

A seguir está a sintaxe para access() método -

os.access(path, mode)

Parâmetros

path - Este é o caminho que seria testado para existência ou qualquer acesso.

mode - Deve ser F_OK para testar a existência do caminho ou pode ser o OR inclusivo de um ou mais de R_OK, W_OK e X_OK para testar as permissões.

  • os.F_OK - Valor a ser passado como parâmetro de modo de acesso () para testar a existência de caminho.

  • os.R_OK - Valor a ser incluído no parâmetro de modo de acesso () para testar a legibilidade do caminho.

  • os.W_OK - Valor a ser incluído no parâmetro de modo de acesso () para testar a capacidade de escrita do caminho.

  • os.X_OK - Valor a ser incluído no parâmetro de modo de acesso () para determinar se o caminho pode ser executado.

Valor de retorno

Este método retorna True se o acesso for permitido, False se não for.

Exemplo

O exemplo a seguir mostra o uso do 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

Quando executamos o programa acima, ele produz o seguinte resultado -

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