gpt4 book ai didi

python - 我可以在 python 中为 tempfile.NamedTemporaryFile 设置 umask 吗?

转载 作者:太空狗 更新时间:2023-10-29 18:13:42 26 4
gpt4 key购买 nike

在 Python 中(在 2.7 及以下版本中尝试过)它看起来像使用 tempfile.NamedTemporaryFile 创建的文件似乎不遵守 umask 指令:

import os, tempfile
os.umask(022)
f1 = open ("goodfile", "w")
f2 = tempfile.NamedTemporaryFile(dir='.')
f2.name

Out[33]: '/Users/foo/tmp4zK9Fe'

ls -l
-rw------- 1 foo foo 0 May 10 13:29 /Users/foo/tmp4zK9Fe
-rw-r--r-- 1 foo foo 0 May 10 13:28 /Users/foo/goodfile

知道为什么 NamedTemporaryFile 不选择 umask 吗?在文件创建过程中有什么办法可以做到这一点吗?

我总是可以使用 os.chmod() 解决这个问题,但我希望在文件创建过程中能做正确的事情。

最佳答案

这是一项安全功能。 NamedTemporaryFile 始终使用模式 0600 创建,硬编码为 tempfile.py, line 235 ,因为在您使用 chmod 打开它之前,它对您的进程是私有(private)的。没有构造函数参数来更改此行为。

关于python - 我可以在 python 中为 tempfile.NamedTemporaryFile 设置 umask 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10541760/

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