我試圖創建一個文件夾並在其中創建一個文件。Python mkdir給了我錯誤的權限
每當我創建該文件夾(通過Python),它會創建一個文件夾,它根本不給我任何權限和只讀模式。
當我嘗試創建文件時,我得到一個IOError。
Error: <type 'exceptions.IOError'>
我試着創建(和搜索)所有其他模式(除了0770)的描述。
任何人都可以給我光明嗎?其他模式代碼是什麼?
我試圖創建一個文件夾並在其中創建一個文件。Python mkdir給了我錯誤的權限
每當我創建該文件夾(通過Python),它會創建一個文件夾,它根本不給我任何權限和只讀模式。
當我嘗試創建文件時,我得到一個IOError。
Error: <type 'exceptions.IOError'>
我試着創建(和搜索)所有其他模式(除了0770)的描述。
任何人都可以給我光明嗎?其他模式代碼是什麼?
後創建的國防部是寫在基地8,如果你將其轉換爲二進制這將是
000 111 111 000
rwx rwx rwx
第一rwx
你可以用os.chmod
設置權限的文件夾所有者,第二個是用於組和第三是世界
R =讀,W =寫,X =執行
的PERMIS sions您最常看到的
7讀/寫/執行 - 你需要執行的目錄中看到的內容
6讀/寫
4只讀
當您使用os.chmod
它最有意義使用八進制 所以
os.chmod('myfile',0o666) # read/write by everyone
os.chmod('myfile',0o644) # read/write by me, readable for everone else
還記得我說你平時想的目錄是「可執行文件」,這樣就可以看到內容。
os.chmod('mydir',0o777) # read/write by everyone
os.chmod('mydir',0o755) # read/write by me, readable for everone else
注:0o777
語法爲Python 2.6和3+。否則對於2系列它是0777
。 2.6接受這兩種語法,所以你選擇的語法將取決於你想要向前還是向後兼容。
「windows」-tag .. – 2009-10-26 20:50:36
我想他的意思是os.chmod – RedGlyph 2009-10-26 20:52:40
也給這個人一個例子,它可以與* nix chmod混淆。 – 2009-10-26 20:55:35
你可能有一個時髦的umask。在製作您的目錄之前,請嘗試os.umask(0002)
。
777的umask將確保所有權限位均爲零。你可能意味着000;使用002或022可能更明智。 – 2009-10-26 22:01:59
/我是個白癡。謝謝。 – 2009-10-26 23:30:52
Python的手冊說:
os.mkdir(path[, mode])
創建一個命名爲數字模式模式路徑的目錄。默認模式是0777(八進制)。在某些系統上,模式被忽略。在使用它的地方,當前的umask值首先被屏蔽掉。可用性:Unix,Windows。
您是否指定了模式 - 您指定了哪種模式。你有沒有考慮明確指定一個模式?什麼是該程序的umask值設置爲「
既然你在Windows上,這可能是一個crapshoot。確保沒有任何古怪的父目錄或定義任何目錄權限的策略設置的特殊權限由您的帳戶創建獲取。我懷疑這是一個python問題,因爲我還沒有能夠在Vista上重新安裝Vista相關問題。
您是否試圖在您無權訪問的路徑中創建文件? – jldupont 2009-10-26 20:42:40
你的umask是什麼? – ephemient 2009-10-26 20:46:47