目录
p.chmod(mode, *, follow_symlinks=True)
p.write_text(data, encoding=None, errors=None, newline=None)
下述方法,基于pathlib.PurePath、pathlib.Path函数模块。
1. 路径模式修改
p.chmod(mode, *, follow_symlinks=True)
改变文件模式和权限,和 os.chmod() 一样;此方法通常会跟随符号链接,某些 Unix 变种支持改变 symlink 本身的权限,在这些平台上你可以添加参数 follow_symlinks=False,或者使用 lchmod() 方法;
目录的读权限表示可以获取目录里文件名列表,执行权限表示可以把工作目录切换到此目录,删除添加目录里的文件必须同时有写和执行权限 ;
文件权限以用户id->组id->其它顺序检验,最先匹配的允许或禁止权限被应用;
mode 常用常量如下表,如要直接使用常量名,需导入 stat 函数模块,否则直接使用数值;
注意下表中数值为8进制(0o),直接输入chmod() 函数则需要输入十进制整数。
常量名 |
数值 |
描述 |
stat.S_IXOTH |
0o001 |
其他用户有执行权 |
stat.S_IWOTH |
0o002 |
其他用户有写权限 |
stat.S_IROTH |
0o004 |
其他用户有读权限 |
stat.S_IRWXO |
0o007 |
其他用户有全部权限(权限掩码) |
stat.S_IXGRP |
0o010 |
组用户有执行权限 |
stat.S_IWGRP |
0o020 |
组用户有写权限 |
stat.S_IRGRP |
0o040 |
组用户有读权限 |
stat.S_IRWXG |
0o070 |
组用户有全部权限(权限掩码) |
stat.S_IXUSR |
0o100 |
拥有者具有执行权限 |
stat.S_IWUSR |
0o200 |
拥有者具有写权限 |
stat.S_IRUSR |
0o400 |
拥有者具有读权限 |
stat.S_IRWXU |
0o700 |
拥有者有全部权限(权限掩码) |
stat.S_ISVTX |
0o1000 |
目录里文件目录只有拥有者才可删除更改 |
stat.S_ISGID |
0o2000 |
执行此文件其进程有效组为文件所在组 |
stat.S_ISUID |
0o4000 |
执行此文件其进程有效用户为文件所有者 |
stat.S_IREAD |
windows下设为只读 |
|
stat.S_IWRITE |
windows下取消只读 |
p = Path('E:\\David\\Code\\python\\文件\\test.txt')
#导入stat模块
import stat
#设置文件为只读,读取成功、写入失败
p.chmod(stat.S_IREAD)
p.read_text()
'12345'
p.write_text('56789')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "D:\Anaconda\lib\pathlib.py", line 1285, in write_text
with self.open(mode='w', encoding=encoding,