gpt4 book ai didi

python - tempfile.mkstemp 权限设置

转载 作者:行者123 更新时间:2023-11-28 20:58:51 28 4
gpt4 key购买 nike

我正在使用 tempfile.mkstemp 生成一个随机可用的文件名并使用 os.fdopen 写入一些内容。然后我通过 celery 将文件名传递给任务。

此任务打开文件,处理内容,最后删除文件。在测试中这工作正常,但是我意识到这会在我的实时环境中中断,在该环境中运行任务的用户与创建文件的用户不同。

这意味着用户无法打开该文件,因为 tempfile.mkstemp 将权限设置为 600(-rw--------)。

我不能让同一个用户运行两个进程,那么有什么方法可以修改 tempfile.mkstemp 设置的文件权限吗?

我在 Ubuntu 14.04 上运行 Python 3.6。

最佳答案

鉴于您在调用 mkstemp() 后使用 os.fdopen,您最好使用 tempfile.NamedTemporaryFile(delete=False)。它返回一个 Python 文件对象而不是 fd

无论哪种方式,返回的文件都会有 mode=0600,因此您需要更改它。使用 os.fchmod(temp_file.fileno(), 0640) 或类似的(根据需要更改模式)。

关于python - tempfile.mkstemp 权限设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51063378/

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