Python判断某个用户对某个文件的权限
在Python我们要判断一个文件对当前用户有没有读、写、执行权限,我们通常可以使用os.access函数来实现,比如:
#判断读权限 os.access(<myfile>,os.R_OK) #判断写权限 os.access(<myfile>,os.W_OK) #判断执行权限 os.access(<myfile>,os.X_OK) #判断读、写、执行权限 os.access(<myfile>,os.R_OK|os.W_OK|os.X_OK)
但是如果要判断任意一个指定的用户对某个文件是否有读、写、执行权限,Python中是没有默认实现的,此时我们可以通过下面的代码断来判断
importos importpwd importstat defis_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) ) defis_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) ) defis_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) )
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 情侣祝福语古文简短独特
11 酒店伴娘祝福语简短
12 晚上甜蜜的祝福语简短
13 给新娘简短的祝福语
14 当爸爸的简短祝福语
15 洛宁新年祝福语大全简短
16 新年祝福语简短搞笑幽默
17 结婚祝福语大全简短霸气
18 新人结婚祝福语简短高端