手机
当前位置:查字典教程网 >脚本专栏 >python >Python判断某个用户对某个文件的权限
Python判断某个用户对某个文件的权限
摘要:在Python我们要判断一个文件对当前用户有没有读、写、执行权限,我们通常可以使用os.access函数来实现,比如:#判断读权限os.ac...

在Python我们要判断一个文件对当前用户有没有读、写、执行权限,我们通常可以使用os.access函数来实现,比如:

# 判断读权限 os.access(<my file>, os.R_OK) # 判断写权限 os.access(<my file>, os.W_OK) # 判断执行权限 os.access(<my file>, os.X_OK) # 判断读、写、执行权限 os.access(<my file>, os.R_OK | os.W_OK | os.X_OK)

但是如果要判断任意一个指定的用户对某个文件是否有读、写、执行权限,Python中是没有默认实现的,此时我们可以通过下面的代码断来判断

import os import pwd import stat def is_readable(cls, path, user): user_info = pwd.getpwnam(user) uid = user_info.pw_uid gid = user_info.pw_gid s = os.stat(path) mode = s[stat.ST_MODE] return ( ((s[stat.ST_UID] == uid) and (mode & stat.S_IRUSR > 0)) or ((s[stat.ST_GID] == gid) and (mode & stat.S_IRGRP > 0)) or (mode & stat.S_IROTH > 0) ) def is_writable(cls, path, user): user_info = pwd.getpwnam(user) uid = user_info.pw_uid gid = user_info.pw_gid s = os.stat(path) mode = s[stat.ST_MODE] return ( ((s[stat.ST_UID] == uid) and (mode & stat.S_IWUSR > 0)) or ((s[stat.ST_GID] == gid) and (mode & stat.S_IWGRP > 0)) or (mode & stat.S_IWOTH > 0) ) def is_executable(cls, path, user): user_info = pwd.getpwnam(user) uid = user_info.pw_uid gid = user_info.pw_gid s = os.stat(path) mode = s[stat.ST_MODE] return ( ((s[stat.ST_UID] == uid) and (mode & stat.S_IXUSR > 0)) or ((s[stat.ST_GID] == gid) and (mode & stat.S_IXGRP > 0)) or (mode & stat.S_IXOTH > 0) )

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持查字典教程网。

【Python判断某个用户对某个文件的权限】相关文章:

python合并文本文件示例

Python中使用动态变量名的方法

python 生成目录树及显示文件大小的代码

Python编写检测数据库SA用户的方法

python实现跨文件全局变量的方法

python使用正则搜索字符串或文件中的浮点数代码实例

python判断windows隐藏文件的方法

python读取html中指定元素生成excle文件示例

用Python输出一个杨辉三角的例子

Python删除指定目录下过期文件的2个脚本分享

精品推荐
分类导航