python修改linux中文件(文件夾)的權(quán)限屬性操作
今天生成的對(duì)流云團(tuán)路徑圖片放在linux下,文件的權(quán)限都是rw,沒(méi)有x,后續(xù)的別人的程序調(diào)用不了,這里附上對(duì)三個(gè)屬性的簡(jiǎn)單解釋?zhuān)胁粔虻臍g迎大家補(bǔ)充
Linux的權(quán)限不是很細(xì)致,只有RWX三種
r(Read,讀取):對(duì)文件而言,具有讀取文件內(nèi)容的權(quán)限;對(duì)目錄來(lái)說(shuō),具有瀏覽目錄的權(quán)限。
w(Write,寫(xiě)入):對(duì)文件而言,具有新增,修改,刪除文件內(nèi)容的權(quán)限;對(duì)目錄來(lái)說(shuō),具有新建,刪除,修改,移動(dòng)目錄內(nèi)文件的權(quán)限。
x(eXecute,執(zhí)行):對(duì)文件而言,具有執(zhí)行文件的權(quán)限;對(duì)目錄了來(lái)說(shuō)該用戶(hù)具有進(jìn)入目錄的權(quán)限。
1、目錄的只讀訪問(wèn)不允許使用cd進(jìn)入目錄,必須要有執(zhí)行的權(quán)限才能進(jìn)入。
2、只有執(zhí)行權(quán)限只能進(jìn)入目錄,不能看到目錄下的內(nèi)容,要想看到目錄下的文件名和目錄名,需要可讀權(quán)限。
3、一個(gè)文件能不能被刪除,主要看該文件所在的目錄對(duì)用戶(hù)是否具有寫(xiě)權(quán)限,如果目錄對(duì)用戶(hù)沒(méi)有寫(xiě)權(quán)限,則該目錄下的所有文件都不能被刪除,文件所有者除外
4、目錄的w位不設(shè)置,即使你擁有目錄中某文件的w權(quán)限也不能寫(xiě)該文件
好了話歸正題,下面是重點(diǎn)了:
os.chmod(path,mode) 這個(gè)方法應(yīng)該很簡(jiǎn)單,只需要2個(gè)參數(shù),一個(gè)是路徑,一個(gè)是說(shuō)明路徑的模式,
下面列出了這個(gè)用法中可以使用的一些常用的模式:
stat.S_ISUID: Set user ID on execution. 不常用
stat.S_ISGID: Set group ID on execution. 不常用
stat.S_ENFMT: Record locking enforced. 不常用
stat.S_ISVTX: Save text image after execution. 在執(zhí)行之后保存文字和圖片
stat.S_IREAD: Read by owner. 對(duì)于擁有者讀的權(quán)限
stat.S_IWRITE: Write by owner. 對(duì)于擁有者寫(xiě)的權(quán)限
stat.S_IEXEC: Execute by owner. 對(duì)于擁有者執(zhí)行的權(quán)限
stat.S_IRWXU: Read, write, and execute by owner. 對(duì)于擁有者讀寫(xiě)執(zhí)行的權(quán)限
stat.S_IRUSR: Read by owner. 對(duì)于擁有者讀的權(quán)限
stat.S_IWUSR: Write by owner. 對(duì)于擁有者寫(xiě)的權(quán)限
stat.S_IXUSR: Execute by owner. 對(duì)于擁有者執(zhí)行的權(quán)限
stat.S_IRWXG: Read, write, and execute by group. 對(duì)于同組的人讀寫(xiě)執(zhí)行的權(quán)限
stat.S_IRGRP: Read by group. 對(duì)于同組讀的權(quán)限
stat.S_IWGRP: Write by group. 對(duì)于同組寫(xiě)的權(quán)限
stat.S_IXGRP: Execute by group. 對(duì)于同組執(zhí)行的權(quán)限
stat.S_IRWXO: Read, write, and execute by others. 對(duì)于其他組讀寫(xiě)執(zhí)行的權(quán)限
stat.S_IROTH: Read by others. 對(duì)于其他組讀的權(quán)限
stat.S_IWOTH: Write by others. 對(duì)于其他組寫(xiě)的權(quán)限
stat.S_IXOTH: Execute by others. 對(duì)于其他組執(zhí)行的權(quán)限
下面是例子:
import os,stat os.chmod('abc',stat.S_IREAD) os.chmod('abc',stat.S_IREAD+stat.S_IWOTH) os.chmod(outputpath,stat.S_IRWXO+stat.S_IRWXG+stat.S_IRWXU)
最后一行當(dāng)時(shí)設(shè)置的時(shí)候我連寫(xiě)了三行,每一行分別寫(xiě)一個(gè)參數(shù),得到的結(jié)果分別是-------rwx,----rwx---,-rwx------,真是被自己的愚蠢打敗了哈哈哈,用加號(hào)就能得到-rwxrwxrwx,就是要把user,group和others分別設(shè)置加起來(lái)。
補(bǔ)充知識(shí):linux下python代碼只在文件目錄下才能調(diào)用,在其他路徑輸入絕對(duì)路徑不能執(zhí)行
沒(méi)想到python代碼放到linux下會(huì)碰到這么多事,在代碼所在的目錄下就可以執(zhí)行,然后跳出一層,用絕對(duì)路徑就不能調(diào)用,應(yīng)該是代碼中用到了相對(duì)路徑,但是你當(dāng)前的相對(duì)路徑并不在文件所在目錄,所以并不能成功調(diào)用,大概是這個(gè)樣子。
下面是解決方案:
par_dir = os.path.dirname(os.path.abspath(__file__))
os.chdir(par_dir)
也是技術(shù)大哥傳授的姿勢(shì)~
os.path.abspath(__file__)求出文件所在的絕對(duì)路徑,具體到文件的名.py。通過(guò)os.path.dirname求出文件所在的目錄地址,再通過(guò)os.chdir來(lái)吧當(dāng)前路徑切換到文件所在的路徑,就可以了。
以上這篇python修改linux中文件(文件夾)的權(quán)限屬性操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python去除字符串中的標(biāo)點(diǎn)符號(hào)的最優(yōu)方式
在Python編程中,去除字符串標(biāo)點(diǎn)符號(hào)是一項(xiàng)常見(jiàn)任務(wù),關(guān)鍵在于文本分析和數(shù)據(jù)清洗,Python提供了多種方法,包括使用str.replace()、str.translate()結(jié)合str.maketrans(),以及使用正則表達(dá)式,另外,可以利用string模塊中的punctuation屬性快速實(shí)現(xiàn)2024-09-09python 提高開(kāi)發(fā)效率的5個(gè)小技巧
這篇文章主要介紹了python 提高開(kāi)發(fā)效率的5個(gè)小技巧,幫助大家更好的進(jìn)行python開(kāi)發(fā),感興趣的朋友可以了解下2020-10-10python 實(shí)現(xiàn)一個(gè)圖形界面的匯率計(jì)算器
這篇文章主要介紹了python 實(shí)現(xiàn)一個(gè)圖形界面的匯率計(jì)算器,幫助大家更好的理解和學(xué)習(xí)如何制作gui程序,感興趣的朋友可以了解下2020-11-11python使用wxpython開(kāi)發(fā)簡(jiǎn)單記事本的方法
這篇文章主要介紹了python使用wxpython開(kāi)發(fā)簡(jiǎn)單記事本的方法,涉及Python使用wxPython實(shí)現(xiàn)桌面圖形應(yīng)用程序的技巧,需要的朋友可以參考下2015-05-05Python中自定義函方法與參數(shù)具有默認(rèn)值的函數(shù)
這篇文章主要介紹了Python中自定義函方法與參數(shù)具有默認(rèn)值的函數(shù),在Python編程中,可以使用已經(jīng)定義好的函數(shù),也可以自定義函數(shù)實(shí)現(xiàn)某些特殊的功能,更多相關(guān)資料,請(qǐng)需要的人參考下面文章內(nèi)容2022-02-02python學(xué)習(xí)之面向?qū)ο蟆救腴T(mén)初級(jí)篇】
Python從第一天開(kāi)始就是面向?qū)ο蟮恼Z(yǔ)言。正因?yàn)槿绱?,?chuàng)建和使用類(lèi)和對(duì)象是非常地容易。這篇文章主要介紹了python中面向?qū)ο蟮南嚓P(guān)資料,屬于python面向?qū)ο髮W(xué)習(xí)的初級(jí)篇,本章將幫助您在使用Python面向?qū)ο缶幊痰募夹g(shù)方面所有提高,有需要的朋友可以參考借鑒。2017-01-01Pytorch實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的分類(lèi)方式
今天小編就為大家分享一篇Pytorch實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的分類(lèi)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01使用Python編寫(xiě)簡(jiǎn)單的畫(huà)圖板程序的示例教程
這篇文章主要介紹了使用Python編寫(xiě)簡(jiǎn)單的畫(huà)圖板軟件的示例教程,利用到了經(jīng)常被用來(lái)做游戲的pygame模塊,需要的朋友可以參考下2015-12-12mAP計(jì)算目標(biāo)檢測(cè)精確度實(shí)現(xiàn)源碼
這篇文章主要為大家介紹了mAP計(jì)算目標(biāo)檢測(cè)精確度的實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05對(duì)Pytorch中nn.ModuleList 和 nn.Sequential詳解
今天小編就為大家分享一篇對(duì)Pytorch中nn.ModuleList 和 nn.Sequential詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08