Python os.fdopen (os.open ()) kann nicht zum Schreiben verwendet werden?

Diese Frage hat mit der Antwort auf zu tunSchreiben Sie eine Datei mit bestimmten Berechtigungen in Python zum Öffnen einer Datei zum Schreiben (in Python) mit bestimmten Berechtigungen.

Der Code in der Antwort sieht folgendermaßen aus:

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

Dieser Code in 2.7.1 (in meiner Firma ist 2.7.3 nicht installiert) erzeugt:

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

os.fdopen hat ein eigenes mode-Argument, aber die Einstellung hilft nicht weiter:

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

Kurz gesagt, ich konnte nicht herausfinden, wie ich tatsächlich in eine Datei schreiben kann, die über geöffnet wurdeos.fdopen undos.open. Irgendwelche Ideen? Bekannter Fehler in 2.7.1?

Danke im Voraus!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage