Why doesn't closing sys.stdout (stdin, stderr) really close it?
Python file objects are a high-level layer of abstraction on top of C stdio
streams, which in turn are a medium-level layer of abstraction on top of (among other things) low-level C file descriptors.
For most file objects you create in Python via the builtin