一、修改文件許可權
在Linux系統下,文件的許可權是用數字表示的。許可權包括讀(4)、寫(2)、執行(1),每個用戶(所有者、群組、其他用戶)的許可權可以相加,最終許可權數字是平均許可權數字的和。Python提供了os.chmod()函數來修改文件的許可權。
示例代碼如下:
import os # 設置文件的所有者可以讀、寫、執行,群組和其他用戶無許可權 os.chmod('/path/to/file', 0o700)
在代碼中,0o700表示所有者擁有讀、寫、執行的許可權,群組和其他用戶沒有任何許可權。
如果要添加或移除許可權,可以使用按位或和按位異或操作符。
添加許可權的代碼如下:
import os # 添加所有者的執行許可權 os.chmod('/path/to/file', os.stat('/path/to/file').st_mode | 0o100)
在代碼中,os.stat()函數返回一個包含文件的元數據的對象,st_mode屬性包含文件的許可權信息。按位或操作符將所有者的執行許可權加上,然後再使用os.chmod()函數將修改後的許可權應用到文件上。
移除許可權的代碼如下:
import os # 移除所有者的寫許可權 os.chmod('/path/to/file', os.stat('/path/to/file').st_mode ^ 0o200)
在代碼中,按位異或操作符^將所有者的寫許可權移除掉,然後再使用os.chmod()函數將修改後的許可權應用到文件上。
二、修改目錄許可權
目錄的許可權修改與文件類似,也是使用數字表示。但是,與文件不同的是,如果目錄沒有執行許可權,用戶無法訪問該目錄下的文件。
示例代碼如下:
import os # 設置目錄的所有者可以讀、寫、執行,群組和其他用戶無許可權 os.chmod('/path/to/dir', 0o700)
與修改文件許可權類似,可以使用按位或和按位異或操作符添加和移除許可權。
三、修改多個文件的許可權
如果要修改多個文件的許可權,可以使用os.walk()函數遍歷目錄下的所有文件。
示例代碼如下:
import os dir_name = '/path/to/dir' for root, dirs, files in os.walk(dir_name): for file in files: file_path = os.path.join(root, file) os.chmod(file_path, 0o700)
代碼中,os.walk()函數遍歷了目錄dir_name下的所有文件,並將它們的許可權設置為700。
四、結語
本文介紹了如何用Python修改文件及目錄許可權。通過本文的介紹,讀者可以了解到如何使用Python的os模塊來管理文件和目錄的許可權,以及如何使用按位或和按位異或操作符來添加或移除文件的許可權。
示例代碼已經經過測試,讀者可以在自己的環境中運行代碼來實踐,加深對本文所述內容的理解。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/196440.html