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之编写简单简单连接数据库并执行查询操作
Feb 27 Python
python处理数据,存进hive表的方法
Jul 04 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
Pandas 缺失数据处理的实现
Nov 04 Python
Python嵌套函数,作用域与偏函数用法实例分析
Dec 26 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
Python3运算符常见用法分析
Feb 14 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
基于plt.title无法显示中文的快速解决
May 16 Python
pytorch 限制GPU使用效率详解(计算效率)
Jun 27 Python
Python脚本打包成可执行文件过程解析
Oct 20 Python
python利用while求100内的整数和方式
Nov 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
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
Prototype Function对象 学习
2009/07/12 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python 多线程Threading初学教程
2017/08/22 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
python 读取数据库并绘图的实例
2019/12/03 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
企业安全生产演讲稿
2014/05/09 职场文书
新学期开学演讲稿
2014/05/24 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
护士求职自荐信
2015/03/25 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技