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

Viewed 37740

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.

2 Answers

Use this

import os
os.write(fd, os.linesep)

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

Related