Nick Coghlan added the comment: The specific motivating use cases I'm aware of involve the standard streams (for example, "How would you implement the equivalent of iconv in Python 3?"). There's actually the workaround for the missing feature right now: replace the standard streams with new streams, either by detaching the old ones or using the file descriptor with open(). It's also specifically the shadow references in __stdin__, __stdout__ and __stderr__ that make that replacement approach problematic (detaching breaks the shadow streams, using the file descriptor means you now have two independent IO stacks sharing the same descriptor).
However, the other case where I can see this being useful is in pipes created by the subprocess module, and any other situation where an API creates a stream on your behalf, and you can't readily ensure you have replaced all the other references to that stream. In those cases, you really want to change the settings on the existing stream, rather than tracking down all the other references and rebinding them. Another question is whether or not we want to implement this as a no-op on StringIO. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15216> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com