Python | os.chmod 函數

最近更新時間 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-,以前的所有者權限丟失。
rss_feed