我试图创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安装的问题。