Python3如何通过chmod修改目录或文件权限-创新互联

小编这次要给大家分享的是Python3如何通过chmod修改目录或文件权限,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

成都创新互联主营德惠网站建设的网络公司,主营网站建设方案,成都App制作,德惠h5小程序制作搭建,德惠网站营销推广欢迎德惠等地区企业咨询简单的介绍下linux文件权限

linux中,文件的权限分为"所有者、组、其他用户"三个角色,每个角色由3个bit位表示它的权限,3bit从左到右分别为读写执行三个权限,3bit的值范围为0~7。所以如果直接在linux执行chmod 777 xxx.sh代表,将xxx.sh文件赋予所有者、组、其他用户这三个角色对xxx.sh文件的读写执行权限。

os的chmod

python的os模块负责操作系统层面的操作。修改文件权限可以通过os的chmod方法来操作。
os.chmod(path, mode)
方法的path指向要赋权限的文件或目录;
mode为权限值,也就是文件权限的9位bit的10进制数,取值范围0~511;

比如我们要将xxx.sh文件赋予所有者读权限,其他角色没有任何的权限,则linux中对应的文件权限用ls -l查看为:-r---------;第一个-是文件类型,后面的9个位就代表了整个文件的权限,对应二进制为100000000,那么我们的mode应该取值为256;
所以上面的权限修改代码为os.chmod("xxx.sh",256)。

这么麻烦?

还好stat模块提供了常量值可以直接对应使用。

常量描述
S_IRWXU所有者读写执行权限,代表值:448
S_IRUSR所有者读,代表值:256
S_IWUSR所有者写,代表值:128
S_IXUSR所有者执行,代表值:64
S_IRWXG用户组读写执行权限,代表值:56
S_IRGRP用户组读,代表值:32
S_IWGRP用户组写,代表值:16
S_IXGRP用户组执行,代表值:8
S_IRWXO其他用户读写执行,代表值:7
S_IROTH其他用户读,代表值:4
S_IWOTH其他用户写,代表值:2
S_IXOTH其他用户执行,代表值:1

如下的代码是将xxx.sh文件赋予所有者读写执行、用户组读执行、其他用户读的操作,即-rwxr-xr--:

import os
import stat

os.chmod("xxx.sh", stat.S_IRWXU+stat.S_IRGRP+stat.S_IXGRP+stat.S_IROTH)

文章题目:Python3如何通过chmod修改目录或文件权限-创新互联
路径分享:http://azwzsj.com/article/hojsh.html