Issue #15624: clarify newline documentation for open and io.TextIOWrapper

Thanks to Chris Jerdonek
This commit is contained in:
Andrew Svetlov 2012-08-13 12:58:02 +03:00
parent 1ef9caa2a1
commit ecd78feb78
2 changed files with 28 additions and 22 deletions

View File

@ -878,18 +878,21 @@ are always available. They are listed here in alphabetical order.
mode). It can be ``None``, ``''``, ``'\n'``, ``'\r'``, and ``'\r\n'``. It
works as follows:
* On input, if *newline* is ``None``, universal newlines mode is enabled.
Lines in the input can end in ``'\n'``, ``'\r'``, or ``'\r\n'``, and these
are translated into ``'\n'`` before being returned to the caller. If it is
``''``, universal newline mode is enabled, but line endings are returned to
the caller untranslated. If it has any of the other legal values, input
lines are only terminated by the given string, and the line ending is
returned to the caller untranslated.
* When reading input from the stream, if *newline* is ``None``,
universal newlines mode is enabled. Lines in the input can end
in ``'\n'``, ``'\r'``, or ``'\r\n'``, and these are translated
into ``'\n'`` before being returned to the caller. If it is
``''``, universal newline mode is enabled, but line endings are
returned to the caller untranslated. If it has any of the other
legal values, input lines are only terminated by the given
string, and the line ending is returned to the caller
untranslated.
* On output, if *newline* is ``None``, any ``'\n'`` characters written are
translated to the system default line separator, :data:`os.linesep`. If
*newline* is ``''`` or ``'\n'``, no translation takes place. If *newline*
is any of the other legal values, any ``'\n'`` characters written are
* When writing output to the stream, if *newline* is ``None``, any
``'\n'`` characters written are translated to the system default
line separator, :data:`os.linesep`. If *newline* is ``''`` or
``'\n'``, no translation takes place. If *newline* is any of the
other legal values, any ``'\n'`` characters written are
translated to the given string.
If *closefd* is ``False`` and a file descriptor rather than a filename was

View File

@ -760,18 +760,21 @@ Text I/O
*newline* controls how line endings are handled. It can be ``None``,
``''``, ``'\n'``, ``'\r'``, and ``'\r\n'``. It works as follows:
* On input, if *newline* is ``None``, universal newlines mode is enabled.
Lines in the input can end in ``'\n'``, ``'\r'``, or ``'\r\n'``, and these
are translated into ``'\n'`` before being returned to the caller. If it is
``''``, universal newline mode is enabled, but line endings are returned to
the caller untranslated. If it has any of the other legal values, input
lines are only terminated by the given string, and the line ending is
returned to the caller untranslated.
* When reading input from the stream, if *newline* is ``None``,
universal newlines mode is enabled. Lines in the input can end
in ``'\n'``, ``'\r'``, or ``'\r\n'``, and these are translated
into ``'\n'`` before being returned to the caller. If it is
``''``, universal newline mode is enabled, but line endings are
returned to the caller untranslated. If it has any of the other
legal values, input lines are only terminated by the given
string, and the line ending is returned to the caller
untranslated.
* On output, if *newline* is ``None``, any ``'\n'`` characters written are
translated to the system default line separator, :data:`os.linesep`. If
*newline* is ``''`` or ``'\n'``, no translation takes place. If *newline*
is any of the other legal values, any ``'\n'`` characters written are
* When writing output to the stream, if *newline* is ``None``, any
``'\n'`` characters written are translated to the system default
line separator, :data:`os.linesep`. If *newline* is ``''`` or
``'\n'``, no translation takes place. If *newline* is any of the
other legal values, any ``'\n'`` characters written are
translated to the given string.
If *line_buffering* is ``True``, :meth:`flush` is implied when a call to