python os.fdopen (os.open ()) no se puede usar para escribir?

Esta pregunta tiene que ver con la respuesta aEscribir archivo con permisos específicos en Python para abrir un archivo para escritura (en python) con permisos específicos.

El código en la respuesta se ve así:

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

Este código en 2.7.1 (mi empresa no tiene 2.7.3 instalado) produce:

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

os.fdopen tiene su propio argumento de modo, pero la configuración no ayuda:

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

En pocas palabras, no he podido averiguar cómo escribir realmente en un archivo que se abrió a través deos.fdopen yos.open. ¿Algunas ideas? Error conocido en 2.7.1?

¡Gracias por adelantado!

Respuestas a la pregunta(2)

Su respuesta a la pregunta