Funkcja os.write
może być używana do zapisywania bajtów w deskryptorze pliku (nie obiekt pliku). Jeśli wykonam os.write(fd, '\n')
, tylko znak LF zostanie zapisany w pliku, nawet w systemie Windows. Chciałbym mieć CRLF w pliku na Windowsie i tylko LF w Linuksie.
Jaki jest najlepszy sposób, aby to osiągnąć?Jak napisać natywny znak nowego wiersza do deskryptora pliku w języku Python?
Używam Pythona 2.6, ale zastanawiam się również, czy Python 3 ma inne rozwiązanie.
'os.write' potrzebuje FD jako swojego pierwszego argumentu - pls napraw to pytanie! I nie, Python 3 nie jest zasadniczo różny (poza tym, że chce bytów, a nie tekstu - który zawsze jest Unicode w Pythonie 3 - w każdym wywołaniu). –
Masz rację, dzięki! – hcs42