它是一个错误或功能?python3 os.mkdir()不强制正确模式
当我使用os.mkdir
(与pathlib.Path.mkdir
同名)和显式模式创建目录时,创建的目录的权限不适合。如果我再次os.chmod
执行,它的工作原理...
>>> import sys, os
>>> sys.version
'3.4.3 (default, Feb 27 2015, 18:13:37) \n[GCC 4.4.5]'
>>> os.mkdir('truite', mode=0o2770)
>>> oct(os.stat('truite').st_mode)
'0o40750'
>>> os.chmod('truite', 0o2770)
>>> oct(os.stat('truite').st_mode)
'0o42770'
,因为我希望能够让家长和模式o2770目录,这里是代码(pth
是pathlib.Path
对象):
def make_shared_dir(pth) :
if not pth.parent.is_dir() :
make_shared_dir(pth.parent)
if not pth.is_dir() :
pth.mkdir()
pth.chmod(0o2770)
确认Ubuntu 14.04,Python 3.4.3。根据文档:在某些系统上,模式被忽略。 –
[使用os.makedirs(python)创建dir时的权限问题]可能的重复](http://stackoverflow.com/questions/5231901/permission-problems-when-creating-a-dir-with-os-makedirs- python) –