Python os.access()用法实例

yipeiwu_com7年前Python基础

概述

os.access() 方法使用当前的uid/gid尝试访问路径。大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试。

语法

access()方法语法格式如下:

os.access(path, mode);

参数

  • path -- 要用来检测是否有访问权限的路径。
  • mode -- mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。
  • 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。

实例

以下实例演示了 access() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 假定 /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

执行以上程序输出结果为:

F_OK - 返回值 True
R_OK - 返回值 True
W_OK - 返回值 True
X_OK - 返回值 False

相关文章

详解Python中的序列化与反序列化的使用

学习过marshal模块用于序列化和反序列化,但marshal的功能比较薄弱,只支持部分内置数据类型的序列化/反序列化,对于用户自定义的类型就无能为力,同时marshal不支持自引用(递...

利用Python将数值型特征进行离散化操作的方法

如下所示: data = np.random.randn(20) factor = pd.cut(data,4) pd.get_dummies(factor) 0 0 0...

用python实现刷点击率的示例代码

背景 同事的老爸参加微信的一个活动,需要刷点击率,因此,写了一个程序助之。 准备 微信活动也是有真实地址的。 通过mitmproxy(man in the middle proxy)的方...

Python 旋转打印各种矩形的方法

打印旋转矩阵应该是很经典的算法问题了。 题目描述如下: 给定一个m * n要素的矩阵。按照螺旋顺序,返回该矩阵的所有要素。 思路:1,先定义矩阵的左上和右下的坐标,然后通过两个坐标来打印...

Python模块学习 re 正则表达式

re.match   re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词。 复制代码 代码如下: import re text = "JGood is a h...