在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()解决此,但我希望的东西,文件创建过程中做了正确的事情。