python修改linux中文件(文件夹)的权限属性操作
今天生成的对流云团路径图片放在linux下,文件的权限都是rw,没有x,后续的别人的程序调用不了,这里附上对三个属性的简单解释,有不够的欢迎大家补充
Linux的权限不是很细致,只有RWX三种
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
1、目录的只读访问不允许使用cd进入目录,必须要有执行的权限才能进入。
2、只有执行权限只能进入目录,不能看到目录下的内容,要想看到目录下的文件名和目录名,需要可读权限。
3、一个文件能不能被删除,主要看该文件所在的目录对用户是否具有写权限,如果目录对用户没有写权限,则该目录下的所有文件都不能被删除,文件所有者除外
4、目录的w位不设置,即使你拥有目录中某文件的w权限也不能写该文件
好了话归正题,下面是重点了:
os.chmod(path,mode)这个方法应该很简单,只需要2个参数,一个是路径,一个是说明路径的模式,
下面列出了这个用法中可以使用的一些常用的模式:
stat.S_ISUID:SetuserIDonexecution.不常用
stat.S_ISGID:SetgroupIDonexecution.不常用
stat.S_ENFMT:Recordlockingenforced.不常用
stat.S_ISVTX:Savetextimageafterexecution.在执行之后保存文字和图片
stat.S_IREAD:Readbyowner.对于拥有者读的权限
stat.S_IWRITE:Writebyowner.对于拥有者写的权限
stat.S_IEXEC:Executebyowner.对于拥有者执行的权限
stat.S_IRWXU:Read,write,andexecutebyowner.对于拥有者读写执行的权限
stat.S_IRUSR:Readbyowner.对于拥有者读的权限
stat.S_IWUSR:Writebyowner.对于拥有者写的权限
stat.S_IXUSR:Executebyowner.对于拥有者执行的权限
stat.S_IRWXG:Read,write,andexecutebygroup.对于同组的人读写执行的权限
stat.S_IRGRP:Readbygroup.对于同组读的权限
stat.S_IWGRP:Writebygroup.对于同组写的权限
stat.S_IXGRP:Executebygroup.对于同组执行的权限
stat.S_IRWXO:Read,write,andexecutebyothers.对于其他组读写执行的权限
stat.S_IROTH:Readbyothers.对于其他组读的权限
stat.S_IWOTH:Writebyothers.对于其他组写的权限
stat.S_IXOTH:Executebyothers.对于其他组执行的权限
下面是例子:
importos,stat os.chmod('abc',stat.S_IREAD) os.chmod('abc',stat.S_IREAD+stat.S_IWOTH) os.chmod(outputpath,stat.S_IRWXO+stat.S_IRWXG+stat.S_IRWXU)
最后一行当时设置的时候我连写了三行,每一行分别写一个参数,得到的结果分别是-------rwx,----rwx---,-rwx------,真是被自己的愚蠢打败了哈哈哈,用加号就能得到-rwxrwxrwx,就是要把user,group和others分别设置加起来。
补充知识:linux下python代码只在文件目录下才能调用,在其他路径输入绝对路径不能执行
没想到python代码放到linux下会碰到这么多事,在代码所在的目录下就可以执行,然后跳出一层,用绝对路径就不能调用,应该是代码中用到了相对路径,但是你当前的相对路径并不在文件所在目录,所以并不能成功调用,大概是这个样子。
下面是解决方案:
par_dir=os.path.dirname(os.path.abspath(__file__))
os.chdir(par_dir)
也是技术大哥传授的姿势~
os.path.abspath(__file__)求出文件所在的绝对路径,具体到文件的名.py。通过os.path.dirname求出文件所在的目录地址,再通过os.chdir来吧当前路径切换到文件所在的路径,就可以了。
以上这篇python修改linux中文件(文件夹)的权限属性操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。