您已經是獲得與shell的mkdir
相同的權限。
隨着殼mkdir:
對於每個目錄操作數時,MKDIR效用應執行等效於IEEE標準1003.1-2001的系統接口體積限定的MKDIR()函數的動作,稱爲具有以下參數:
dir操作數用作路徑參數。
將S_IRWXU,S_IRWXG和S_IRWXO的按位或值的值用作模式參數。 (如果指定了-m選項,模式選項參數的覆蓋此默認設置。)
或者,其可讀性(從BSD手冊頁):
...創建命名爲目錄操作數按指定的順序使用由當前umask(2)修改的模式rwxrwxrwx(0777)。
Python的os.mkdir
做同樣的事情:
... [T]他默認模式爲0777 ...當前的umask值首先屏蔽掉。
Python實際上使用完全相同的參數調用shell文檔中提到的完全相同的POSIX mkdir函數。該功能定義爲:
新目錄的文件權限位應從模式初始化。模式參數的這些文件許可權位應由進程的文件創建掩碼進行修改。
或者,更可讀地,在FreeBSD/OS X手冊頁:
的目錄路徑與由模式指定,並限制了通過調用進程的umask的(2)的訪問權限創建。
如果你是一個非POSIX平臺如Windows上,巨蟒試圖模仿POSIX行爲,即使本機外殼有一個名爲mkdir
命令的工作方式不同。主要是因爲主要的這種shell是Windows,它有一個mkdir
這是md的同義詞,並且它甚至沒有記錄權限的細節。
簡短的回答是:'os.mkdir(somepath)'產生與shell中的'mkdir「$ somepath」'相同的結果。 – jfs
@ J.F.Sebastian:謝謝你指出,在給出完整答案之前,我沒有做出簡短的回答。編輯。 – abarnert