亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python實現(xiàn)文件只讀屬性的設(shè)置與取消

 更新時間:2023年07月17日 16:50:00   作者:Commas.KM  
這篇文章主要為大家詳細介紹了Python如何實現(xiàn)設(shè)置文件只讀與取消文件只讀的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

一、使用os.chmod來設(shè)置文件只讀屬性

我們可以使用 os 模塊中的chmod(全程:change mode)來設(shè)置或取消文件的只讀屬性。

完整語法:

def chmod(path: FileDescriptorOrPath, mode: int,*, dir_fd: int | None = None, follow_symlinks: bool = True) -> None: ...

常見語法:

def chmod(path: FileDescriptorOrPath, mode: int)
  • path:需要修改只讀屬性的文件路徑或目錄路徑;
  • mode:權(quán)限代碼,由八進制數(shù)字(octat)組成。如0o444表示只讀的權(quán)限,0o666表示“讀寫”的權(quán)限,0o777表示讀寫執(zhí)行的權(quán)限等等。

使用方法:

  • 引入os模塊;
  • 使用os.chmod()方法去設(shè)置或取消文件的只讀屬性;
  • 將文件路徑和權(quán)限代碼傳遞os.chmod()方法

示例如下:

import os
# set file as read-only
# 4 = read(4)
os.chmod('readonly.txt', 0o444)
# cancel read-only property
# 6 = read(4) + write(2)
os.chmod('readonly.txt', 0o666)
# set file as read-write-execute
# 7 = read(4) + write(2) + execute(1)
os.chmod('readonly.txt', 0o777)

當然,您也可以這樣寫:

import os,stat
# (1)set file as read-only
# 4 = read(4)
# os.chmod('readonly.txt', 0o444)
os.chmod('readonly.txt', stat.S_IRUSR + stat.S_IRGRP + stat.S_IROTH)
# (2)cancel read-only property
# 6 = read(4) + write(2)
# os.chmod('readonly.txt', 0o666)
os.chmod('readonly.txt', stat.S_IWUSR + stat.S_IRUSR + stat.S_IWGRP + stat.S_IRGRP + stat.S_IWOTH + stat.S_IROTH)
# (3)set file as read-write-execute
# 7 = read(4) + write(2) + execute(1)
# os.chmod('readonly.txt', 0o777)
os.chmod('readonly.txt', stat.S_IXUSR + stat.S_IWUSR + stat.S_IRUSR + stat.S_IXGRP + stat.S_IWGRP + stat.S_IRGRP + stat.S_IXOTH + stat.S_IWOTH + stat.S_IROTH)
# 或
os.chmod('readonly.txt', stat.S_IRWXU + stat.S_IRWXG + stat.S_IRWXO)
# 我們可以打印出來看看
# 0o444
print(oct(stat.S_IRUSR + stat.S_IRGRP + stat.S_IROTH))
# 0o666
print(oct(stat.S_IWUSR + stat.S_IRUSR + stat.S_IWGRP + stat.S_IRGRP + stat.S_IWOTH + stat.S_IROTH))
# 0o777
print(oct(stat.S_IXUSR + stat.S_IWUSR + stat.S_IRUSR + stat.S_IXGRP + stat.S_IWGRP + stat.S_IRGRP + stat.S_IXOTH + stat.S_IWOTH + stat.S_IROTH))
print(oct(stat.S_IRWXU + stat.S_IRWXG + stat.S_IRWXO))

結(jié)果輸出:

0o444
0o666
0o777
0o777

二、關(guān)于權(quán)限代碼mode的解讀

如上圖所示,文件調(diào)用權(quán)限分為三級 :

  • 文件所有者(Owner/Users)
  • 用戶組用戶(Group Users)
  • 其它用戶(Other Users)

其中,每級權(quán)限代碼范圍:1~7。

符號含義:

  • R:讀,Read的縮寫,八進制值為 4;
  • W:寫,Write的縮寫,八進制值為 2;
  • X:執(zhí)行,Execute的縮寫,八進制值為 1;

如:0o444表示只讀的權(quán)限,0o666表示“讀寫”的權(quán)限,0o777表示讀寫執(zhí)行的權(quán)限等等;

文件所有者(User)的權(quán)限:

限代碼英文名說明
stat.S_IXUSRExecute User擁有者具有執(zhí)行權(quán)限0o100
stat.S_IWUSRWrite User擁有者具有寫權(quán)限0o200
stat.S_IRUSRRead User擁有者具有讀權(quán)限0o400
stat.S_IRWXURead Write Execute User擁有者有全部權(quán)限(權(quán)限掩碼)0o700

文件用戶組(Group)的權(quán)限:

權(quán)限代碼英文名說明
stat.S_IXGRPExecute Group組用戶有執(zhí)行權(quán)限0o010
stat.S_IWGRPWrite Group組用戶有寫權(quán)限0o020
stat.S_IRGRPRead Group組用戶有讀權(quán)限0o040
stat.S_IRWXGRead Write Execute Group組用戶有全部權(quán)限(權(quán)限掩碼)0o070

其它:

權(quán)限代碼說明
stat.S_ISVTX目錄里文件目錄只有擁有者才可刪除更改0o1000
stat.S_ISGID執(zhí)行此文件其進程有效組為文件所在組0o2000
stat.S_ISUID執(zhí)行此文件其進程有效用戶為文件所有者0o4000
stat.S_IREADwindows下設(shè)為只讀
stat.S_IWRITEwindows下取消只讀

到此這篇關(guān)于Python實現(xiàn)文件只讀屬性的設(shè)置與取消的文章就介紹到這了,更多相關(guān)Python文件只讀內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論