中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python修改linux中文件(文件夾)的權限屬性操作

發布時間:2020-08-31 12:10:04 來源:腳本之家 閱讀:239 作者:lionhenryzxxy 欄目:開發技術

今天生成的對流云團路徑圖片放在linux下,文件的權限都是rw,沒有x,后續的別人的程序調用不了,這里附上對三個屬性的簡單解釋,有不夠的歡迎大家補充

Linux的權限不是很細致,只有RWX三種

r(Read,讀取):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄的權限。

w(Write,寫入):對文件而言,具有新增,修改,刪除文件內容的權限;對目錄來說,具有新建,刪除,修改,移動目錄內文件的權限。

x(eXecute,執行):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。

1、目錄的只讀訪問不允許使用cd進入目錄,必須要有執行的權限才能進入。

2、只有執行權限只能進入目錄,不能看到目錄下的內容,要想看到目錄下的文件名和目錄名,需要可讀權限。

3、一個文件能不能被刪除,主要看該文件所在的目錄對用戶是否具有寫權限,如果目錄對用戶沒有寫權限,則該目錄下的所有文件都不能被刪除,文件所有者除外

4、目錄的w位不設置,即使你擁有目錄中某文件的w權限也不能寫該文件

好了話歸正題,下面是重點了:

os.chmod(path,mode) 這個方法應該很簡單,只需要2個參數,一個是路徑,一個是說明路徑的模式,

下面列出了這個用法中可以使用的一些常用的模式:

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. 在執行之后保存文字和圖片

stat.S_IREAD: Read by owner. 對于擁有者讀的權限

stat.S_IWRITE: Write by owner. 對于擁有者寫的權限

stat.S_IEXEC: Execute by owner. 對于擁有者執行的權限

stat.S_IRWXU: Read, write, and execute by owner. 對于擁有者讀寫執行的權限

stat.S_IRUSR: Read by owner. 對于擁有者讀的權限

stat.S_IWUSR: Write by owner. 對于擁有者寫的權限

stat.S_IXUSR: Execute by owner. 對于擁有者執行的權限

stat.S_IRWXG: Read, write, and execute by group. 對于同組的人讀寫執行的權限

stat.S_IRGRP: Read by group. 對于同組讀的權限

stat.S_IWGRP: Write by group. 對于同組寫的權限

stat.S_IXGRP: Execute by group. 對于同組執行的權限

stat.S_IRWXO: Read, write, and execute by others. 對于其他組讀寫執行的權限

stat.S_IROTH: Read by others. 對于其他組讀的權限

stat.S_IWOTH: Write by others. 對于其他組寫的權限

stat.S_IXOTH: Execute by others. 對于其他組執行的權限

下面是例子:

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)

最后一行當時設置的時候我連寫了三行,每一行分別寫一個參數,得到的結果分別是-------rwx,----rwx---,-rwx------,真是被自己的愚蠢打敗了哈哈哈,用加號就能得到-rwxrwxrwx,就是要把user,group和others分別設置加起來。

補充知識:linux下python代碼只在文件目錄下才能調用,在其他路徑輸入絕對路徑不能執行

沒想到python代碼放到linux下會碰到這么多事,在代碼所在的目錄下就可以執行,然后跳出一層,用絕對路徑就不能調用,應該是代碼中用到了相對路徑,但是你當前的相對路徑并不在文件所在目錄,所以并不能成功調用,大概是這個樣子。

下面是解決方案:

par_dir = os.path.dirname(os.path.abspath(__file__))
os.chdir(par_dir)

也是技術大哥傳授的姿勢~

os.path.abspath(__file__)求出文件所在的絕對路徑,具體到文件的名.py。通過os.path.dirname求出文件所在的目錄地址,再通過os.chdir來吧當前路徑切換到文件所在的路徑,就可以了。

以上這篇python修改linux中文件(文件夾)的權限屬性操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌吉市| 新宁县| 凌云县| 元氏县| 敦煌市| 巨鹿县| 梁河县| 资兴市| 平和县| 舟曲县| 河南省| 尼勒克县| 钦州市| 高平市| 巴中市| 徐州市| 思南县| 平定县| 讷河市| 金坛市| 蓬莱市| 宣城市| 巫溪县| 阿勒泰市| 伊通| 彭阳县| 砚山县| 赤水市| 中江县| 汪清县| 唐山市| 类乌齐县| 庄浪县| 丰城市| 天津市| 酉阳| 濉溪县| 广河县| 林甸县| 白水县| 临沭县|