Python 3 – os.access() 方法
描述
os.access() 方法使用真正的 uid/gid 来测试对路径的访问权限。 大多数操作将使用有效的 uid/gid,因此在 suid/sgid 环境中可以使用此例程来测试调用用户是否具有对路径的指定访问权限。 它返回 True 如果允许访问,否则返回 False。
语法
以下是 access() 方法的语法 −
os.access(path, mode)
参数
path − 这是将测试存在或任何访问权的路径。
mode − 这应该是 F_OK 来测试路径的存在,或可以是 R_OK,W_OK 和 X_OK 中的一个或多个的包含 OR 来测试权限。
- os.F_OK − access() 的 mode 参数传递的值以测试路径的存在。
-
os.R_OK − access() 的 mode 参数中包含的值以测试路径的可读性。
-
os.W_OK − access() 的 mode 参数中包含的值以测试路径的可写性。
-
os.X_OK − access() 的 mode 参数中包含的值以确定路径是否可执行。
返回值
如果允许访问,则此方法返回 True,否则返回 False。
案例
以下示例显示了 access() 方法的用法。
#!/usr/bin/python3
import os, sys
# 假设 /tmp/foo.txt 存在并且具有读/写权限。
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