Python mkdir给我错误的权限

我试图创build一个文件夹,并在其中创build一个文件。

每当我创build该文件夹(通过Python),它创build一个文件夹,根本不给我任何权限和只读模式。

当我尝试创build文件,我得到一个IOError。

Error: <type 'exceptions.IOError'> 

我试图创build(和search)的所有其他模式(除了0770)的描述。

任何人都可以给我光明? 什么是其他模式代码?

创建文件夹后,您可以使用os.chmod设置权限

模块是写在基地8,如果你把它转换成二进制它会

 000 111 111 000 rwx rwx rwx 

第一个rwx是所有者,第二个是组,第三个是世界

R =读,W =写,X =执行

你最经常看到的权限是
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接受这两种语法,所以你选择的语法将取决于你想要向前还是向后兼容。

你可能有一个时髦的umask。 在创建你的目录之前先尝试os.umask(0002)

Python手册说:

 os.mkdir(path[, mode]) 

使用数字模式模式创建一个名为path的目录。 默认模式是0777(八进制)。 在某些系统上,模式被忽略。 在使用的地方,当前的umask值首先被屏蔽掉。 可用性:Unix,Windows。

你有没有指定一个模式 – 你指定了哪种模式。 你有没有考虑明确指定一个模式? 什么是程序的umask值设置为“

既然你在Windows上,这可能是一个废话。 确保父目录上没有任何古怪的特殊权限,或者使用策略设置来定义您的帐户创建的任何目录的权限。 我怀疑这是一个python的问题,因为我没有能够重新在Vista上相对香草Vista安装的问题。