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 婆婆高寿祝福语大全简短