は(2.7でこれを試してみましたが、下)には、umaskの指示に従うようには見えないtempfile.NamedTemporaryFile
を使用して作成されたファイルのようになります。pythonでtempfile.NamedTemporaryFileのumaskを設定することはできますか? Pythonで
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()でこれを回避することができますが、私はファイル作成中に正しいことをしたことを期待していました。
おかげ - お奨めの中で特定の行にリンクする答えを愛し起源! – shreddd
あなたの答えをありがとう。私はちょうどこれが奇妙であることに気付くでしょう、そうでなければ、私は私が望むことをする別の方法を逃しています。私は単純にNamedTemporaryFileを使用するようにしています。エラーを生成するとエラーが発生しますが、それを正常なオープン(名前、 'w')で作成したファイルに移動すると破棄できます。 フィーチャーリクエストのように.... – nealmcb