この質問は、特定のアクセス許可で(Python で) 書き込み用にファイルを開くためのPython で特定のアクセス許可を持つファイルを書き込むへの回答と関係があります。
回答のコードは次のようになります。
with os.fdopen(os.open('foo', os.O_APPEND | os.O_CREAT, 0o644)) as out:
out.write("hello\n")
2.7.1 のこのコード (私の会社には 2.7.3 がインストールされていません) は以下を生成します:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
IOError: File not open for writing
os.fdopen
独自のモード引数がありますが、設定は役に立ちません:
>>> with os.fdopen(os.open('foo', os.O_APPEND | os.O_CREAT, 0o644), 'a') as out:
... out.write("hello\n")
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument
簡単に言うと、 および で開かれたファイルに実際に書き込む方法を理解できませんでしos.fdopen
たos.open
。何か案は?2.7.1 の既知のバグ?
前もって感謝します!