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!