From ecd78feb7896239e062b8085c073affb8fd1fafa Mon Sep 17 00:00:00 2001 From: Andrew Svetlov Date: Mon, 13 Aug 2012 12:58:02 +0300 Subject: Issue #15624: clarify newline documentation for open and io.TextIOWrapper Thanks to Chris Jerdonek --- Doc/library/functions.rst | 27 +++++++++++++++------------ Doc/library/io.rst | 27 +++++++++++++++------------ 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 5d6a5fe..ffc34d8 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -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. - - * 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 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. + + * 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 diff --git a/Doc/library/io.rst b/Doc/library/io.rst index 9aecc7d..09e0501 100644 --- a/Doc/library/io.rst +++ b/Doc/library/io.rst @@ -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. - - * 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 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. + + * 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 -- cgit v0.12