cpython icon indicating copy to clipboard operation
cpython copied to clipboard

Outdated `os.linesep` docs in `os.py`

Open sobolevn opened this issue 6 months ago • 0 comments

https://github.com/python/cpython/blob/5334732f9c8a44722e4b339f4bb837b5b0226991/Lib/os.py#L13

Docs claim that \r is a possible value for os.linesep, however, I can't find any code that actually sets it to \r.

But it can only be:

  • https://github.com/python/cpython/blob/5334732f9c8a44722e4b339f4bb837b5b0226991/Lib/os.py#L52-L54 for POSIX
  • https://github.com/python/cpython/blob/5334732f9c8a44722e4b339f4bb837b5b0226991/Lib/os.py#L76-L78 on Windows

Docs:

.. data:: linesep

   The string used to separate (or, rather, terminate) lines on the current
   platform.  This may be a single character, such as ``'\n'`` for POSIX, or
   multiple characters, for example, ``'\r\n'`` for Windows. 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.

The internet says:

Windows: '\r\n'
Mac (OS 9-): '\r'
Mac (OS 10+): '\n'
Unix/Linux: '\n'

So, it looks like an outdated doc?

Linked PRs

  • gh-136088

sobolevn avatar Jun 29 '25 04:06 sobolevn