summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/using/cmdline.rst3
-rw-r--r--Doc/whatsnew/3.0.rst10
2 files changed, 9 insertions, 4 deletions
diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst
index c73f1e0..9274d8e 100644
--- a/Doc/using/cmdline.rst
+++ b/Doc/using/cmdline.rst
@@ -247,7 +247,8 @@ Miscellaneous options
Force the binary layer of the stdin, stdout and stderr streams (which is
available as their ``buffer`` attribute) to be unbuffered. The text I/O
- layer will still be line-buffered.
+ layer will still be line-buffered if writing to the console, or
+ block-buffered if redirected to a non-interactive file.
See also :envvar:`PYTHONUNBUFFERED`.
diff --git a/Doc/whatsnew/3.0.rst b/Doc/whatsnew/3.0.rst
index 523b34e..55b65ba 100644
--- a/Doc/whatsnew/3.0.rst
+++ b/Doc/whatsnew/3.0.rst
@@ -301,6 +301,12 @@ changed.
There is no longer any need for using the encoding-aware streams
in the :mod:`codecs` module.
+* The initial values of :data:`sys.stdin`, :data:`sys.stdout` and
+ :data:`sys.stderr` are now unicode-only text files (i.e., they are
+ instances of :class:`io.TextIOBase`). To read and write bytes data
+ with these streams, you need to use their :data:`io.TextIOBase.buffer`
+ attribute.
+
* Filenames are passed to and returned from APIs as (Unicode) strings.
This can present platform-specific problems because on some
platforms filenames are arbitrary byte strings. (On the other hand,
@@ -511,9 +517,7 @@ consulted for longer descriptions.
produces a literal of type :class:`bytes`.
* :ref:`pep-3116`. The :mod:`io` module is now the standard way of
- doing file I/O, and the initial values of :data:`sys.stdin`,
- :data:`sys.stdout` and :data:`sys.stderr` are now instances of
- :class:`io.TextIOBase`. The built-in :func:`open` function is now an
+ doing file I/O. The built-in :func:`open` function is now an
alias for :func:`io.open` and has additional keyword arguments
*encoding*, *errors*, *newline* and *closefd*. Also note that an
invalid *mode* argument now raises :exc:`ValueError`, not