私はmakedirs
機能を使用してディレクトリを作成しています:ファイルの許可を変更する要因は何ですか?
makedirs(self.output_dir, exist_ok=True)
私は、この新しいディレクトリ内の一時ディレクトリ(temp_dir
)からいくつかのファイルをコピーしています。最後に
、およびPythonドキュメントによると、私はoutput_dir
の許可がrwxrwxrwx
ことを期待しています。
OS。 makedirs(パス[、モード])
再帰的なディレクトリ作成機能。 MKDIR()と同様ですが、葉のディレクトリが含まれているために必要なすべての 中間レベルのディレクトリになります。葉のディレクトリが既に存在するか が作成できない場合 は、エラーの例外を発生させます。デフォルトモードは0777(8進数)です。
ただし、output_dir
の許可はrwx------
であることが判明しました。私はoutput_dir
の許可の操作を自分のコードのどこにも行なわないので、この結果はわかりません。私は例えばos.chmod
を使用していません。私は、rootとして私のPythonスクリプトを実行すると仮定すると、
は、どのような要因は、ディレクトリのパーミッションを変更しているだろうか?
EDIT
は私が一時ディレクトリtemp_dir
が同じ予期しないパーミッション(rwxrwxrwx
)を持っていることに気づきました。
temp_dir = tempfile.TemporaryDirectory()
この動作は期待通りですか?私はこのテーマについて何も見つけることができませんでした。
私のumaskが '022'に設定するので、私は間違っていたと私は許可、ない' 0777'として '0755'を期待すべきです。しかし、私が最終的に得た許可は '0755'でもありません。だから私はこれが答えだとは思わない。 – Eldy
最良のヘルプを得るには、プログラム全体または同等のテストプログラム全体を投稿する必要があります。 – mjr104
また、あなたの元の質問は「何の要因」であり、未解決の質問です。私はあなたにこれらの要因の一つを与えました。質問を編集してより閉鎖された方がよいでしょう。私はなぜ私のプログラムは私が期待していないXを行うのですか? – mjr104