蟒蛇 | os.fchmod() 方法

|

在類 Unix 系統上,模式 —這些是授予用戶、組和其他類訪問文件的文件系統權限。
os.fchmod() 在Python中用於將指定文件描述符指定的文件模式更改為指定的數值模式.該方法等價於 os.chmod(fd, mode)

注意。 此方法僅適用於 Unix 平台。

語法: os.fchmod (fd, mode)

參數:
fd: 要設置其模式的文件描述符。
模式: 表示要設置的模式的數值。
mode 也可以取以下值之一或它們的按位或組合:

  • stat.S_ISUID: 執行時設置用戶 ID
  • stat.S_ISGID: 執行時設置組 ID
  • stat.S_ENFMT: 強制記錄鎖定 < /li>
  • stat.S_ISVTX: 執行後保存文本圖像
  • stat.S_IREAD: 所有者讀取。
  • stat.S_IWRITE : 由所有者撰寫。
  • stat.S_IEXEC: 由所有者執行。
  • stat.S_IRWXU: 由所有者讀取、寫入和執行
  • stat.S_IRUSR: 由所有者讀取
  • stat.S_IRUSR: li>
  • stat.S_IWUSR: 由所有者撰寫。
  • stat.S_IXUSR: 由所有者執行。
  • stat.S_IRWXG: 按組讀取、寫入和執行
  • stat.S_IRGRP: 按組讀取
  • stat.S_IWGRP: 按組寫入
  • stat.S_IXGRP : 按組執行
  • stat .S_IRWXO: 由其他人讀取、寫入和執行。
  • stat.S_IROTH: 別人讀
  • stat.S_IWOTH: 別人寫
  • stat.S_IXOTH: 由他人執行

返回類型: 該方法不返回任何值。

代碼:使用os方法.fchmod()

#Python程序講解os.fchmod()方法定義


# os模塊的導入

import os


#導入統計模塊

import stat


# 文件名

文件名 = "file.txt"


# 打開指定文件
# 獲取文件描述符
# 與此相關
# os.open () 方法

fd = 操作系統。 open (filename, os.O_RDWR)


# 打印當前數字模式
# (八進制)文件

模式 = oct (os. stat (fd) .st_mode) [ - 3 :]

print ( "文件的當前數字模式(八進制):" , mode)


# 現在改變模式
File #


# octal 777 as mode value
# 讀取、寫入和執行 per任務
# for owner, group and others

mode = 0o777

os.fchmod (fd, mode)

print ( "文件模式更改成功" )


# 打印改變的數字模式
#(八進制)文件

mode = oct (os.stat (fd) .st_mode) [ - 3 :]

print ( "文件的當前數值模式 (八進制):" , mode)


#mode參數也可以是
#由
# Stat module


# Chnage 模式中定義的標誌定義

模式 = stat.S_IRWXU 代碼>

os.fchmod (fd, mode)

print ( "文件模式更改成功" )

print ( "現在,文件只能由所有者讀取、寫入和執行" )


# 打印修改後的數字模式
# 文件的(八進制)

mode = oct (os.stat (fd) .st_mode) [ - 3 :]

print ( "文件的當前數值模式(八進制):" , mode)

< /p>


# 改變模式

< p> 模式 = stat.S_IRWXU | stat.S_IRGRP

os.fchmod (fd, mode)

打印 ( "文件模式更改成功" )

print ("現在, 文件 可讀可寫 執行

by owner but can be read by group ")


# 打印修改後的數字模式
#(八進制)文件

模式 = oct (os.stat (fd) .st_mode) [ - 3 :]

打印 ( "文件的當前數字模式(八進制):" , mode)


# 關閉文件描述符
os.close (fd)

Exit :

 文件的當前數值模式(八進制):666 文件模式已成功更改 文件的當前數字模式(八進制):777 文件模式已成功更改 現在,文件只能由所有者讀取、寫入和執行 文件的當前數字模式(八進制):700文件模式更改成功現在,文件可以被所有者讀取,寫入和執行,但可以被組讀取文件的當前數字模式(八進制):740