How to write native newline character to a file descriptor in Python?

Question:

The os.write function can be used to writes bytes into a file descriptor (not file object). If I execute os.write(fd, 'n'), only the LF character will be written into the file, even on Windows. I would like to have CRLF in the file on Windows and only LF in Linux.
What is the best way to achieve this?

I’m using Python 2.6, but I’m also wondering if Python 3 has a different solution.

Asked By: hcs42

||

Answers:

Use this

import os
os.write(fd, os.linesep)
Answered By: S.Lott

How about os.write(<file descriptor>, os.linesep)? (import os is unnecessary because you seem to have already imported it, otherwise you’d be getting errors using os.write to begin with.)

Answered By: JAB
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.