◐ Shell
clean mode source ↗

Message 294931 - Python tracker

First at all, I'm not sure that allowing to modify TextIOWrapper settings after creation is a good idea. I would be feeling uncomfortable if the third-party library changed the buffering or encoding settings of passed text stream for its own needs, and this stream is sys.stdout. For example set f.line_buffering = False for performance and break your logging. Creating a new TextIOWrapper for own needs looks safer. But changing the global state is the essential part of Nick's and your issues.

This could have long-term consequences, so it is worth to discuss the principle on the Python-Dev mailing list before applying the changes.