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二分法实现实例
Nov 21 Python
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
Python中类的定义、继承及使用对象实例详解
Apr 30 Python
Python中的字典与成员运算符初步探究
Oct 13 Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
Python 中的Selenium异常处理实例代码
May 03 Python
python判断数字是否是超级素数幂
Sep 27 Python
python用opencv批量截取图像指定区域的方法
Jan 24 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
python实现从ftp上下载文件的实例方法
Jul 19 Python
Python 多进程原理及实现
Dec 21 Python
OpenCV-Python模板匹配人眼的实例
Jun 08 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
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
php设计模式 State (状态模式)
2011/06/26 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
php事件驱动化设计详解
2016/11/10 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
详谈javascript异步编程
2016/02/21 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python 列表list使用介绍
2014/11/30 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
python开发利器之ulipad的使用实践
2017/03/16 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
2018/06/14 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
python实现数字炸弹游戏
2020/07/17 Python
python 还原梯度下降算法实现一维线性回归
2020/10/22 Python
新护士岗前培训制度
2014/02/02 职场文书
《金子》教学反思
2014/04/13 职场文书
应用心理学专业求职信
2014/08/04 职场文书
从事会计工作年限证明
2015/06/23 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
MySQL快速插入一亿测试数据
2021/06/23 MySQL
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers