【问题标题】:How do I let "TemporaryDirectory" in python inherit the parent directory's permission?如何让python中的“TemporaryDirectory”继承父目录的权限?
【发布时间】:2020-08-12 23:35:10
【问题描述】:

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

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

【问题讨论】:

    标签: python linux unix temporary-directory


    【解决方案1】:

    我无法直接在TemporaryDirectory 中看到对它的支持,实际上0o700 模式在tempfile 包中是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)
    

    该问题仅询问权限,但如果您还需要更改所有权(用户或组),请查看os.chown 以及st_uidst_gid 的@987654329 属性@对象(类似于上面的st_mode)。请注意,某些操作可能需要 root 权限。

    【讨论】:

    • 谢谢,希望有一个直接的方法,而不需要这样做
    • @Goldname 这不可能 - 答案已编辑以反映原因(请参阅我写“硬编码”的链接)。
    猜你喜欢
    • 2021-09-13
    • 2013-07-18
    • 2010-12-04
    • 1970-01-01
    • 2011-02-25
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    相关资源
    最近更新 更多