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

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

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

一、使用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)限代碼,由八進(jì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)

當(dāng)然,您也可以這樣寫:

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。

符號(hào)含義:

  • R:讀,Read的縮寫,八進(jìn)制值為 4;
  • W:寫,Write的縮寫,八進(jìn)制值為 2;
  • X:執(zhí)行,Execute的縮寫,八進(jìn)制值為 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í)行此文件其進(jìn)程有效組為文件所在組0o2000
stat.S_ISUID執(zhí)行此文件其進(jìn)程有效用戶為文件所有者0o4000
stat.S_IREADwindows下設(shè)為只讀
stat.S_IWRITEwindows下取消只讀

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

相關(guān)文章

  • python基礎(chǔ)教程之獲取本機(jī)ip數(shù)據(jù)包示例

    python基礎(chǔ)教程之獲取本機(jī)ip數(shù)據(jù)包示例

    本文主要介紹了python獲取本機(jī)ip數(shù)據(jù)包的示例,大家參考使用吧
    2014-02-02
  • 輕松實(shí)現(xiàn)TensorFlow微信跳一跳的AI

    輕松實(shí)現(xiàn)TensorFlow微信跳一跳的AI

    這篇文章主要教大家如何輕松實(shí)現(xiàn)TensorFlow微信跳一跳的AI,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù)實(shí)例詳解

    使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù)實(shí)例詳解

    這篇文章主要介紹了使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 利用Python實(shí)現(xiàn)好看的水波特效

    利用Python實(shí)現(xiàn)好看的水波特效

    這篇文章主要介紹了如何利用Python語言實(shí)現(xiàn)水波特效,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下
    2022-04-04
  • Python 函數(shù)繪圖及函數(shù)圖像微分與積分

    Python 函數(shù)繪圖及函數(shù)圖像微分與積分

    今天小編就為大家分享一篇Python 函數(shù)繪圖及函數(shù)圖像微分與積分,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • PyQt5 控件字體樣式等設(shè)置的實(shí)現(xiàn)

    PyQt5 控件字體樣式等設(shè)置的實(shí)現(xiàn)

    這篇文章主要介紹了PyQt5 控件字體樣式等設(shè)置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Django實(shí)現(xiàn)列表頁商品數(shù)據(jù)返回教程

    Django實(shí)現(xiàn)列表頁商品數(shù)據(jù)返回教程

    這篇文章主要介紹了Django實(shí)現(xiàn)列表頁商品數(shù)據(jù)返回教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python導(dǎo)入庫的具體方法

    python導(dǎo)入庫的具體方法

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python如何導(dǎo)入庫的步驟和方法,有需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • pytorch中的dataset用法詳解

    pytorch中的dataset用法詳解

    這篇文章主要介紹了pytorch的dataset用法詳解,當(dāng)我們繼承了一個(gè)?Dataset類之后,我們需要重寫?len?方法,該方法提供了dataset的大?。?getitem?方法,?該方法支持從?0?到?len(self)的索引,下面來看看附有代碼的講解吧,希望對你的學(xué)習(xí)或者工作有所幫助
    2022-01-01
  • 基于python requests selenium爬取excel vba過程解析

    基于python requests selenium爬取excel vba過程解析

    這篇文章主要介紹了基于python requests selenium爬取excel vba過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評論