Issue 1096310: sys.stdout doco isn't discouraging enough (original) (raw)
This issue has been migrated to GitHub: https://github.com/python/cpython/issues/41402
classification
Title: | sys.__stdout__ doco isn't discouraging enough | ||
---|---|---|---|
Type: | Stage: | ||
Components: | Documentation | Versions: | Python 2.7 |
process
Status: | closed | Resolution: | fixed |
---|---|---|---|
Dependencies: | Superseder: | ||
Assigned To: | georg.brandl | Nosy List: | ajaksu2, georg.brandl, jvr, kbk |
Priority: | normal | Keywords: |
Created on 2005-01-05 09:18 by jvr, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (4) | ||
---|---|---|
msg60627 - (view) | Author: Just van Rossum (jvr) * ![]() |
Date: 2005-01-05 09:18 |
sys.__stdout__ is quite often abused (two independent sightings on c.l.py yesterday): people use it to restore stdout instead of saving the previous stdout. The real intended use for __stdout__ isn't all that clear (I keep wondering myself why it's there in the first place; its use case must be quite obscure), but more importantly I think the sys docs should contain a warning that __stdout__ is *not* suitable to restore sys.stdout after redirection. I'd produce a patch if I knew how to better describe what sys.__stdout__ was *for*. | ||
msg60628 - (view) | Author: Kurt B. Kaiser (kbk) * ![]() |
Date: 2005-01-08 22:41 |
Logged In: YES user_id=149084 In IDLE it's useful for debugging: print>>sys.__stderr__, "!!!BOO!!!" will print a message to the console no matter what the redirection status is. So that's a use in addition to the two given in the sys module docs. Agreed that its bad practice to use them to restore redirection, but that IMO belongs in a tutorial, not the reference docs.... | ||
msg81512 - (view) | Author: Daniel Diniz (ajaksu2) * ![]() |
Date: 2009-02-09 22:49 |
Current docs seem to explain what __stdout__ is for: """ __stdin__ / __stdout__ / __stderr__ These objects contain the original values of stdin, stderr and stdout at the start of the program. They are used during finalization, and could be useful to restore the actual files to known working file objects in case they have been overwritten with a broken object. """ Should a note of warning be added? Something like: Explicitly saving the original IO streams and restoring them after redirection is safer and the recommended idiom. | ||
msg84869 - (view) | Author: Georg Brandl (georg.brandl) * ![]() |
Date: 2009-03-31 19:10 |
Amended documentation in r70867. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:09 | admin | set | github: 41402 |
2009-03-31 19:10:48 | georg.brandl | set | status: open -> closedresolution: fixedmessages: + |
2009-02-10 02:29:05 | pitrou | set | assignee: georg.brandlnosy: + georg.brandl |
2009-02-09 22:49:50 | ajaksu2 | set | nosy: + ajaksu2messages: + versions: + Python 2.7 |
2005-01-05 09🔞56 | jvr | create |