python os.fdopen (os.open ()) nie można używać do pisania?

To pytanie dotyczy odpowiedzi naNapisz plik z określonymi uprawnieniami w Pythonie do otwierania pliku do zapisu (w Pythonie) z określonymi uprawnieniami.

Kod w odpowiedzi wygląda następująco:

with os.fdopen(os.open('foo', os.O_APPEND | os.O_CREAT, 0o644)) as out:
  out.write("hello\n")

Ten kod w 2.7.1 (moja firma nie ma zainstalowanego 2.7.3) produkuje:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
IOError: File not open for writing

os.fdopen ma swój własny argument trybu, ale ustawienie, które nie pomaga:

>>> 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

Krótko mówiąc, nie byłem w stanie dowiedzieć się, jak faktycznie pisać do pliku, który został otwarty przezos.fdopen ios.open. Jakieś pomysły? Znany błąd w 2.7.1?

Z góry dziękuję!

questionAnswers(2)

yourAnswerToTheQuestion