[Python] 原來 os.chmod() 要用八進位數…
最近遇到一個問題,在 Linux 上執行一個 python 程式之後,
某些檔案的屬性被改的很怪異,
像是原本預期是 rwxr-xr-x 的,變成了 -rwxr-xr-t…
看了一下程式,好像沒有什麼問題:
os.chmod(“test.txt”, 755)
研究了一下 python 的文件,提到 mode 參數部分可以用 stat 裡面定義的一些常數,
但奇怪的是像 stat.S_IRWXU 這個常數理論上應該要是 700,但實際上是 448…
又研究了一下,原來 755 這個數值應該是八進位的,
所以 755 中的 700 (八進位) 其實是十進位的 448。
因此原本的程式只要改成 0755,在 python 中代表八進位數,就 OK 囉~~
os.chmod(“test.txt”, 0755)
//
//
(本頁面已被瀏覽過 1,266 次)