OS module in Python provides functions for interacting with the operating system. OS, comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality. os.access() method uses the real uid/gid to test for access to path. Most operations uses 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.
Syntax:
os.access(path, mode)
Parameters:
path: path to be tested for access or existence mode: Should be F_OK to test the existence of path, or can be the inclusive OR of one or more of R_OK, W_OK, and X_OK to test permissions.
Following values can be passed as the mode parameter of access() to test the following:
- os.F_OK: Tests existence of the path.
- os.R_OK: Tests readability of the path.
- os.W_OK: Tests writability of the path.
- os.X_OK: Checks if path can be executed.
Returns: True if access is allowed, else returns False. Code #1: Understand access() method
Python3
# Python program trying to access# file with different mode parameter# importing all necessary librariesimport osimport sys# Different mode parameters will # return True if access is allowed,# else returns False.# Assuming only read operation is allowed on file# Checking access with os.F_OKpath1 = os.access("gfg.txt", os.F_OK)print("Exists the path:", path1)# Checking access with os.R_OKpath2 = os.access("gfg.txt", os.R_OK)print("Access to read the file:", path2)# Checking access with os.W_OKpath3 = os.access("gfg.txt", os.W_OK)print("Access to write the file:", path3)# Checking access with os.X_OKpath4 = os.access("gfg.txt", os.X_OK)print("Check if path can be executed:", path4) |
Output:
Exists the path: True Access to read the file: True Access to write the file: False Check if path can be executed: False
Code #2: Code to open a file after validating access is allowed
Python3
# Python program to open a file# after validating the access# checking readability of the pathif os.access("gfg.txt", os.R_OK): # open txt file as file with open("gfg.txt") as file: return file.read() # in case can't access the file return "Facing some issue" |
Output:
Facing some issue
