gpt4 book ai didi

python - 使所有新目录具有 777 权限

转载 作者:太空狗 更新时间:2023-10-30 00:33:03 24 4
gpt4 key购买 nike

我有一个脚本,运行时会在 /home/test/ 中创建一个目录,然后在其中写入一些文件。当我运行这个脚本时,它工作正常。但是,当我使用

从 perl 脚本中调用它时
$ret = `/home/..../testscript.py`

它没有权限,所以它不能创建文件夹,或者创建后不能在其中写入。看起来当 Python 执行 open("/home/test/abcde/file1.txt", "w") 时,该文件具有权限 -rw-r--r--

我该怎么做才能解决这个问题?有没有办法设置/home/test 以递归方式使所有子目录具有全局写访问权限?或者更好的解决方案?

最佳答案

放:

os.umask(0000)

在创建目录之前的 Python 脚本中。如果您无法更改 Python 脚本,请输入:

umask(0000)

在调用 Python 脚本之前的 Perl 脚本中。

创建新文件或目录时,通过获取调用 creat()mkdir() 时指定的权限,然后屏蔽来确定权限关闭 umask 中指定的位。

通常,应用程序在调用该函数时会指定 06660777 权限(取决于它们是否正在创建应可执行的内容)。 umask 的一个常见值是 022,它关闭组和世界写入权限。如果您不想关闭它们,请使用上面的 umask 值来保留调用中指定的权限。

关于python - 使所有新目录具有 777 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17756585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com