Python | os.chmod 函数

Lasted 2020-12-04 16:50:55

os.chmod 函数修改 path 的 model,model 值可以按位 “或” 组合使用。函数接收至少两个参数。

如果 path 路径不存在,抛出 FileNotFoundError 异常。

函数定义

os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)

参数

  • checkpath - 目录或文件路径
  • checkmodel - 需要设置的 model
    • stat.S_ISUID=0o4000 设置 UID 位。
    • stat.S_ISGID=0o2000 设置分组 ID 位。
    • stat.S_ISVTX=0o1000 固定位。 当对目录设置该位时则意味着此目录中的文件只能由文件所有者、目录所有者或特权进程来重命名或删除。
    • stat.S_IRUSR=0o0400 所有者具有读取权限。
    • stat.S_IWUSR=0o0200 所有者具有写入权限。
    • stat.S_IXUSR=0o0100 所有者具有执行权限。
    • stat.S_IRWXG=0o0070 组权限的掩码。
    • stat.S_IRGRP=0o0040 组具有读取权限。
    • stat.S_IWGRP=0o0020 组具有写入权限。
    • stat.S_IXGRP=0o0010 组具有执行权限。
    • stat.S_IRWXO=0o0007 其他人(不在组中)的权限掩码。
    • stat.S_IROTH=0o0004 其他人具有读取权限。
    • stat.S_IWOTH=0o0002 其他人具有写入权限。
    • stat.S_IXOTH=0o0001 其他人具有执行权限。
    • stat.S_ENFMT=S_ISGID System V 执行文件锁定。
    • stat.S_IREAD=0o0400 Unix V7 中 S_IRUSR 的同义词。
    • stat.S_IWRITE=0o0200 Unix V7 中 S_IWUSR 的同义词。
    • stat.S_IEXEC=0o0100 Unix V7 中 S_IXUSR 的同义词。

返回值

  • checkNone - 无。

示例1: - 使用 os.chmod() 函数设置其他用户的文件权限。

# coding=utf-8

# Python3 代码
# 使用 os.chmod() 设置文件其他用户读写权限,最开始文件权限为 -rw-r--r--

# 引入 os stat 库
import os
import stat

path = "./foo.md"

# 设置文件其他用户有读写权限 
mode = stat.S_IROTH | stat.S_IWOTH
retval = os.chmod(path, mode)

# 设置完成后文件权限 -------rw-

print("Return Value: %s" % retval)
Return Value: None
注:上面的例子中,最开始文件权限为 -rw-r--r--,设置后文件权限变为 -------rw-,以前的所有者权限丢失。