博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础一 ------linux某目录下批量的为特定文件加入可执行权限
阅读量:6412 次
发布时间:2019-06-23

本文共 879 字,大约阅读时间需要 2 分钟。

需求:

一个文件夹中有个文件,要求对特定的文件加入可执行权限

某文件系统目录下有一系列文件:

    quicksort
    graph.py
    heap.java
    install.sh
    stack.cpp
    .....
编写程序对所有的.sh文件和.py文件加上用户可执行权限

 

解决方法:    

    使用字符串的str.startswith()和str.endswith()方法

  注意,多个匹配时参数使用元组

 

一:首先创建几个文件,如图(并没有可执行权限)

二:具体代码实现(还可以通过列表表达式)

实现效果:

讲解:

  os.listdir(".") :将所在的文件夹下所有文件名以列表形式返回

      x.endswith(".sh")  判断x这个字符串是否以.sh文件结尾

  x.endwith((".sh",",py"))   判断这个字符串是否以.sh或者.py文件结尾;注意,必须是元组类型

  

执行权限是怎样被改变的?

 

  os.stat("a.sh")  查看文件的属性

  

  注:此部分参考了 

  st_mode   ------>    权限模式(十进制)

  st_ino   --------->       inode number

    st_dev  --------->     device

      st_nlike  -------->  number of hard links 

  st_uid    -------->  所有用户的user_id

      st_gid -----------> 所有用户组的group_id

      st_size ---------->  文件大小,以位为单位

  st_atime   --------->   文件最后的访问时间

  st_mtime   -------->  文件的最后修改时间

  st_ctime  --------->  文件的创建时间

  

  查看文件的权限信息,转八进制,看到 764

  修改权限: 只需将文件的权限与stat.S_IXUSR进行或运算

 

转载于:https://www.cnblogs.com/ruoniao/p/6890434.html

你可能感兴趣的文章
Lifecycle 流程分析
查看>>
我对SOLID的理解
查看>>
chrome下点击文件选择框速度很慢
查看>>
你真的了解git吗?
查看>>
IcceCream 的Linux软件清单
查看>>
[swift 进阶]读书笔记-第八章:错误处理 C8P4 将错误桥接到Objective-C
查看>>
Linux 文件传输
查看>>
字符串、列表、字典
查看>>
网站记录
查看>>
你好,promise
查看>>
简单的顺序表
查看>>
IOS组件化方案总结
查看>>
HTML5的新特性概述(上)
查看>>
redis原理
查看>>
从零开始学习测试
查看>>
关于小程序基础库
查看>>
LeetCode 之 JavaScript 解答第206题 —— 反转链表(Reverse Linked List)
查看>>
VUE简易案例一
查看>>
js时间+函数+匿名函数,...
查看>>
6、Flutter Widget(IOS Style) - CupertinoSlider和CupertinoSwitch;
查看>>