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错误处理详解
Sep 28 Python
matplotlib作图添加表格实例代码
Jan 23 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
Apr 02 Python
Python3.遍历某文件夹提取特定文件名的实例
Apr 26 Python
python检测IP地址变化并触发事件
Dec 26 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
Python3如何使用多线程升程序运行速度
Aug 11 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 Python
python3实现Dijkstra算法最短路径的实现
May 12 Python
Python机器学习之底层实现KNN
Jun 20 Python
如何在python中实现ECDSA你知道吗
Nov 23 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
用PHP调用Oracle存储过程
2006/10/09 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
PHP实现通用alert函数的方法
2015/03/11 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
WAF的正确bypass
2017/01/05 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python selenium 弹出框处理的实现
2019/02/26 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
写出一个方法实现冒泡排序
2016/07/08 面试题
高中毕业生个人自我鉴定
2013/11/24 职场文书
门卫岗位安全职责
2013/12/13 职场文书
《老王》教学反思
2014/02/23 职场文书
教代会开幕词
2015/01/28 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
大学生团支书竞选稿
2015/11/21 职场文书