Correct way to write line to file?

Yaroslav Bulatov picture Yaroslav Bulatov · May 28, 2011 · Viewed 2.2M times · Source

I'm used to doing print >>f, "hi there"

However, it seems that print >> is getting deprecated. What is the recommended way to do the line above?

Update: Regarding all those answers with "\n"...is this universal or Unix-specific? IE, should I be doing "\r\n" on Windows?

Answer

Johnsyweb picture Johnsyweb · May 28, 2011

This should be as simple as:

with open('somefile.txt', 'a') as the_file:
    the_file.write('Hello\n')

From The Documentation:

Do not use os.linesep as a line terminator when writing files opened in text mode (the default); use a single '\n' instead, on all platforms.

Some useful reading: