[Python-Dev] [Python-checkins] cpython (3.3): Issue #17860: explicitly mention that std* streams are opened in binary mode by
R. David Murray
rdmurray at bitdance.com
Sat Jul 6 13:59:07 CEST 2013
On Sat, 06 Jul 2013 10:25:19 +0200, ronald.oussoren <python-checkins at python.org> wrote:
> http://hg.python.org/cpython/rev/a2c2ffa1a41c
> changeset: 84453:a2c2ffa1a41c
> branch: 3.3
> parent: 84449:df79735b21c1
> user: Ronald Oussoren <ronaldoussoren at mac.com>
> date: Sat Jul 06 10:23:59 2013 +0200
> summary:
> Issue #17860: explicitly mention that std* streams are opened in binary mode by default.
>
> The documentation does mention that the streams are opened in text mode
> when univeral_newlines is true, but not that that they are opened in
> binary mode when that argument is false and that seems to confuse at
> least some users.
>
> files:
> Doc/library/subprocess.rst | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
>
> diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
> --- a/Doc/library/subprocess.rst
> +++ b/Doc/library/subprocess.rst
> @@ -293,7 +293,8 @@
> If *universal_newlines* is ``True``, the file objects *stdin*, *stdout* and
> *stderr* will be opened as text streams in :term:`universal newlines` mode
> using the encoding returned by :func:`locale.getpreferredencoding(False)
> - <locale.getpreferredencoding>`. For *stdin*, line ending characters
> + <locale.getpreferredencoding>`, otherwise these streams will be opened
> + as binary streams. For *stdin*, line ending characters
> ``'\n'`` in the input will be converted to the default line separator
> :data:`os.linesep`. For *stdout* and *stderr*, all line endings in the
> output will be converted to ``'\n'``. For more information see the
IMO, either the default should be mentioned first, or the default
should be mentioned in a parenthetical. Otherwise it sounds like
newline translation is being done in both modes. Logically that makes
no sense, so the above construction will likely lead to, at a minimum,
an interruption in the flow for the reader, and at worse even more
confusion than not mentioning it at all.
--David
More information about the Python-Dev
mailing list