如何让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
中看不到对它的直接支持,而且确实模式 0o700
是 hard-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.chown
和 st_uid
和 stat_result
对象的 st_gid
属性(类似于上面的 st_mode
)。请注意,某些操作可能需要 root 权限。
我正在使用 from tempfile import TemporaryDirectory
在 python 中创建一个临时目录。如何在 python 中创建一个 TemporaryDirectory 并强制其权限与创建它的文件夹相同?
不幸的是,我的另一个程序无法访问 TemporaryDirectory 中的项目 运行。此程序确实可以访问 TemporaryDirectory 的父目录,但不能访问 TemporaryDirectory。
我在 TemporaryDirectory
中看不到对它的直接支持,而且确实模式 0o700
是 hard-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.chown
和 st_uid
和 stat_result
对象的 st_gid
属性(类似于上面的 st_mode
)。请注意,某些操作可能需要 root 权限。