如何让python中的"TemporaryDirectory"继承父目录的权限?

How do I let "TemporaryDirectory" in python inherit the parent directory's permission?

我正在使用 from tempfile import TemporaryDirectory 在 python 中创建一个临时目录。如何在 python 中创建一个 TemporaryDirectory 并强制其权限与创建它的文件夹相同?

不幸的是,我的另一个程序无法访问 TemporaryDirectory 中的项目 运行。此程序确实可以访问 TemporaryDirectory 的父目录,但不能访问 TemporaryDirectory。

我在 TemporaryDirectory 中看不到对它的直接支持,而且确实模式 0o700hard-coded 到临时文件包中,但你可以使用 chmod .示例:

with TemporaryDirectory(dir=parent) as tmpdir:    
    os.chmod(tmpdir, os.stat(parent).st_mode)

    os.system("ls -ld " + parent)
    os.system("ls -ld " + tmpdir)

问题只询问权限,但如果您还需要更改 ownership(用户或组),请查看 os.chownst_uidstat_result 对象的 st_gid 属性(类似于上面的 st_mode)。请注意,某些操作可能需要 root 权限。