New submission from Peter Law <[email protected]>:
In `contextlib`, `_RedirectStream` (the class behind `redirect_stdout` and
`redirect_stderr`) returns the current stream target as its context variable,
which allows code like this:
``` python
with redirect_stdout(io.StringIO()) as buffer:
do_stuff()
use(buffer.getvalue())
```
where you capture the redirected stream without a separate line to declare the
variable.
This isn't documented (See
https://docs.python.org/3/library/contextlib.html#contextlib.redirect_stdout),
yet is potentially useful.
Unless there's a reason that this isn't documented, I propose that the
documentation be modified to include it.
Aside: After initially reporting this against the typeshed
(https://github.com/python/typeshed/issues/4283) I'm also working on a PR to
the typeshed to include this there.
----------
assignee: docs@python
components: Documentation
messages: 372513
nosy: PeterJCLaw, docs@python
priority: normal
severity: normal
status: open
title: Document that redirect_std{out,err} yield the new stream as the context
variable
type: behavior
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue41147>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com