在 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() 来解决这个问题,但我希望在文件创建过程中做正确的事情。