大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编这次要给大家分享的是Python3如何通过chmod修改目录或文件权限,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
成都创新互联主营德惠网站建设的网络公司,主营网站建设方案,成都App制作,德惠h5小程序制作搭建,德惠网站营销推广欢迎德惠等地区企业咨询简单的介绍下linux文件权限linux中,文件的权限分为"所有者、组、其他用户"三个角色,每个角色由3个bit位表示它的权限,3bit从左到右分别为读写执行三个权限,3bit的值范围为0~7。所以如果直接在linux执行chmod 777 xxx.sh代表,将xxx.sh文件赋予所有者、组、其他用户这三个角色对xxx.sh文件的读写执行权限。
os的chmodpython的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)