linux 添加权限 批量,python基础一 ------linux某目录下批量的为特定文件加入可执行权限...

需求:

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

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

quicksort

graph.py

heap.java

install.sh

stack.cpp

.....

编写程序对所有的.sh文件和.py文件加上用户可执行权限

解决方法:

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

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

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

ed6764d024f0570ec300e53c654f518a.png

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

65d0811cf790f236dfe5146bf705da1b.png

实现效果:

8feea9a2fb4ca68e37a83121aa8da996.png

讲解:

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

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

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

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

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

b3707955a2ac8b850bff67c52102be9c.png

注:此部分参考了 这篇博文

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

45e1e00952578fa5b7cd108c29adf003.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值