Python 3 - os.access() Method


Description

The method access() uses the real uid/gid to test for access to path. Most operations will use the effective uid/gid, therefore this routine can be used in a suid/sgid environment to test if the invoking user has the specified access to path.It returns True if access is allowed, False if not.

Syntax

Following is the syntax for access() method −

os.access(path, mode)

Parameters

path − This is the path which would be tested for existence or any access.

mode − This should be F_OK to test the existence of path, or it can be the inclusive OR of one or more of R_OK, W_OK, and X_OK to test permissions.

  • os.F_OK − Value to pass as the mode parameter of access() to test the existence of path.

  • os.R_OK − Value to include in the mode parameter of access() to test the readability of path.

  • os.W_OK − Value to include in the mode parameter of access() to test the writability of path.

  • os.X_OK − Value to include in the mode parameter of access() to determine if path can be executed.

Return Value

This method returns True if access is allowed, False if not.

Example

The following example shows the usage of access() method.

#!/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)

Result

When we run the above program, it produces the following result −

F_OK - return value True
R_OK - return value True
W_OK - return value True
X_OK - return value False
python_files_io.htm
Advertisements