Search code examples
pythonnewlinestring-formatting

Python newline constant like C++ std::endl


I am formatting a string (in magic method __str__) and I don't want to use a raw "\n" or "\r\n".

Does python have a cross-platform newline identifier like std::endl in C++?

I tried to Google it, but couldn't find an answer.


Solution

  • How about using os.linesep? It contains the appropriate line separator for your OS:

    >>> import os
    >>> os.linesep
    '\n'
    >>> print "line one" + os.linesep + "line two"
    line one
    line two