Python 3 - os.access() 方法

  • 描述

    方法access()使用真实的 uid/gid 来测试对路径的访问。大多数操作将使用有效的 uid/gid,因此可以在 suid/sgid 环境中使用此例程来测试调用用户是否具有对路径的指定访问权限。如果允许访问,则返回 True,否则返回 False。
  • 句法

    以下是语法access()方法 -
    
    os.access(path, mode)
    
  • 参数

    path− 这是将被测试存在或任何访问的路径。
    mode− 这应该是F_OK 来测试路径的存在性,也可以是R_OK、W_OK 和X_OK 中的一个或多个的包含或来测试权限。
    • os.F_OK− 作为 access() 的模式参数传递的值以测试路径的存在。
    • os.R_OK− 包含在 access() 的模式参数中的值,以测试路径的可读性。
    • os.W_OK− 包含在 access() 的模式参数中的值,用于测试路径的可写性。
    • os.X_OK− 包含在 access() 的模式参数中的值,以确定路径是否可以执行。
  • 返回值

    如果允许访问,则此方法返回 True,否则返回 False。
  • 例子

    以下示例显示了 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)
    
  • 结果

    当我们运行上面的程序时,它会产生以下结果 -
    
    F_OK - return value True
    R_OK - return value True
    W_OK - return value True
    X_OK - return value False