lchflags() 方法设置路径的标志为数字标志。此方法不遵循符号链接,因此不同于 chflags()方法。在Python3.3中,这相当于 os.chflags(path, flags, follow_symlinks=False).
在这里,flags 可以采用以下值(如在 stat 模块中定义)的组合(按位OR):
-
UF_NODUMP: 不要转储文件
-
UF_IMMUTABLE: 文件不会被更改
-
UF_APPEND: 文件仅追加到
-
UF_NOUNLINK: 文件不被重命名或删除
-
UF_OPAQUE: 通过联合堆栈查看时,目录是不透明的
-
SF_ARCHIVED: 文件可能被存档
-
SF_IMMUTABLE: 文件可能不被更改
-
SF_APPEND: 文件仅追加到
-
SF_NOUNLINK: 文件不被重命名或删除
-
SF_SNAPSHOT: 文件是一个快照文件
注意:此方法在 Python2.6 中引入
语法
以下是 lchflags() 方法的语法:
os.lchflags(path, flags)
参数
-
path -- 这是对于其中待设置的标志的文件路径
-
flags -- 这是在上述定义的标志值的组合(按位或)
返回值
此方法不返回任何值。可用于UNIX类系统
示例
下面的例子显示 lchflags()方法的使用。
#!/usr/bin/python3 import os, sys # Open a file path = "/var/www/html/foo.txt" fd = os.open( path, os.O_RDWR|os.O_CREAT ) # Close opened file os.close( fd ) # Now change the file flag. ret = os.lchflags(path, os.UF_IMMUTABLE ) print ("Changed file flag successfully!!")
当我们运行上面的程序,它会产生以下结果:
Changed file flag successfully!!