Python | os.access() Method

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

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Python program tyring to access
    # file with different mode parameter
      
    # importing all necessary libraries
    import os
    import 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_OK
    path1 = os.access("gfg.txt", os.F_OK)
    print("Exists the path:", path1)
      
    # Checking access with os.R_OK
    path2 = os.access("gfg.txt", os.R_OK)
    print("Access to read the file:", path2)
      
    # Checking access with os.W_OK
    path3 = os.access("gfg.txt", os.W_OK)
    print("Access to write the file:", path3)
      
    # Checking access with os.X_OK
    path4 = os.access("gfg.txt", os.X_OK)
    print("Check if path can be executed:", path4)

    chevron_right

    
    

    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

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Python program to open a file
    # after validating the access
      
    # checking readability of the path
    if 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"

    chevron_right

    
    

    Output:

    Facing some issue


    My Personal Notes arrow_drop_up

    Check out this Author's contributed articles.

    If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




    Article Tags :

    Be the First to upvote.


    Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.