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