哪些因素可能会改变文件的权限?

时间:2017-11-06 15:43:30

标签: python file

我正在使用makedirs函数创建目录:

makedirs(self.output_dir, exist_ok=True)

然后我从一个临时目录(temp_dir)中复制一些文件。

最后,根据Python文档,我希望output_dir的权限为rwxrwxrwx

  

os。 makedirs (路径[,模式])

     

递归目录创建功能。像mkdir(),但所有   包含叶子目录所需的中级目录。   如果leaf目录已存在,则引发错误异常   无法创建。默认模式为0777(八进制)。

但是,output_dir的许可证原来是rwx------。我不理解这个结果,因为我没有在代码中的任何地方对output_dir的许可进行任何操作。我不是以os.chmod为例。

假设我以root身份运行我的Python脚本,哪些因素可能会改变目录的权限?

修改

我注意到临时目录temp_dir具有相同的意外权限(rwxrwxrwx)。我使用以下函数创建它:

temp_dir = tempfile.TemporaryDirectory()

这是预期的行为吗?我在这个问题上找不到任何东西。

1 个答案:

答案 0 :(得分:2)

如果在运行python之前已经有了umask,那么目录创建将遵循umask。

E.g

umask -S u=rwx,g=,o=

然后

import os
os.makedirs(...