Python os.access() 方法
os.access() 方法使用当前的 uid/gid 尝试访问路径
大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试
导入模块
import os
语法
os.access(path, mode);
参数
参数 | 说明 |
---|---|
path | 要用来检测是否有访问权限的路径 |
mode | mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK 和 X_OK 或者 R_OK, W_OK和 X_OK 其中之一或者更多 |
mode 参数的可能值
值 | 说明 |
---|---|
os.F_OK | 作为 access() 的 mode 参数,测试path是否存在 |
os.R_OK | 包含在 access() 的 mode 参数中 , 测试path是否可读 |
os.W_OK | 包含在 access() 的 mode 参数中 , 测试path是否可写 |
os.X_OK | 包含在 access() 的 mode 参数中 ,测试path是否可执行 |
返回值
如果允许访问返回 True , 否则返回 False
范例
下面的代码使用 os.access() 方法测试一些路径是否可访问
#!/usr/bin/python # -*- coding: UTF-8 -*- import os # 假定 /tmp/foo.txt 文件存在,并有读写权限 ret = os.access("/tmp/foo.txt", os.F_OK) print "F_OK - 返回值 %s"% ret ret = os.access("/tmp/foo.txt", os.R_OK) print "R_OK - 返回值 %s"% ret ret = os.access("/tmp/foo.txt", os.W_OK) print "W_OK - 返回值 %s"% ret ret = os.access("/tmp/foo.txt", os.X_OK) print "X_OK - 返回值 %s"% ret
运行以上 Python 代码,输出结果如下
F_OK - 返回值 True R_OK - 返回值 True W_OK - 返回值 True X_OK - 返回值 False