python修改linux中文件(文件夹)的权限属性操作


Posted in Python onMarch 05, 2020

今天生成的对流云团路径图片放在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: Set user ID on execution. 不常用

stat.S_ISGID: Set group ID on execution. 不常用

stat.S_ENFMT: Record locking enforced. 不常用

stat.S_ISVTX: Save text image after execution. 在执行之后保存文字和图片

stat.S_IREAD: Read by owner. 对于拥有者读的权限

stat.S_IWRITE: Write by owner. 对于拥有者写的权限

stat.S_IEXEC: Execute by owner. 对于拥有者执行的权限

stat.S_IRWXU: Read, write, and execute by owner. 对于拥有者读写执行的权限

stat.S_IRUSR: Read by owner. 对于拥有者读的权限

stat.S_IWUSR: Write by owner. 对于拥有者写的权限

stat.S_IXUSR: Execute by owner. 对于拥有者执行的权限

stat.S_IRWXG: Read, write, and execute by group. 对于同组的人读写执行的权限

stat.S_IRGRP: Read by group. 对于同组读的权限

stat.S_IWGRP: Write by group. 对于同组写的权限

stat.S_IXGRP: Execute by group. 对于同组执行的权限

stat.S_IRWXO: Read, write, and execute by others. 对于其他组读写执行的权限

stat.S_IROTH: Read by others. 对于其他组读的权限

stat.S_IWOTH: Write by others. 对于其他组写的权限

stat.S_IXOTH: Execute by others. 对于其他组执行的权限

下面是例子:

import os,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中文件(文件夹)的权限属性操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中关于中文编码问题的处理建议
Apr 08 Python
详解Python发送邮件实例
Jan 10 Python
django加载本地html的方法
May 27 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
解决tensorflow由于未初始化变量而导致的错误问题
Jan 06 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
Python过滤序列元素的方法
Jul 31 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
Oct 15 Python
Python 实现集合Set的示例
Dec 21 Python
Python可视化神器pyecharts绘制水球图
Jul 07 Python
Python实现在Windows平台修改文件属性
Mar 05 #Python
Pycharm最常用的快捷键及使用技巧
Mar 05 #Python
Python 去除字符串中指定字符串
Mar 05 #Python
Python脚本去除文件的只读性操作
Mar 05 #Python
Python IDE环境之 新版Pycharm安装详细教程
Mar 05 #Python
Python Handler处理器和自定义Opener原理详解
Mar 05 #Python
Python使用进程Process模块管理资源
Mar 05 #Python
You might like
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
Python转码问题的解决方法
2008/10/07 Python
Python判断Abundant Number的方法
2015/06/15 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
python web框架学习笔记
2016/05/03 Python
python 内置函数filter
2017/06/01 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
flask应用部署到服务器的方法
2019/07/12 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
python数据抓取3种方法总结
2021/02/07 Python
计算机专业自我鉴定
2013/10/15 职场文书
投标保密承诺书
2014/05/19 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python