Antoine Pitrou <pit...@free.fr> added the comment: Please note that normally an error message is output, but of course it doesn't display since stderr is invalid :-)
It's clearer if you close stdout instead: $ ./python -c 'pass' >&- Fatal Python error: Py_Initialize: can't initialize sys standard streams OSError: [Errno 9] Bad file descriptor Abandon If we want to allow for closed {stdin, stdout, stderr}, I'm not sure what the semantics should be. Should sys.std{in, out, err} be None? Or a file object which always throws an error? Under Python 2.x, you don't get a crash but the behaviour is quite unhelpful anyway: $ python -c 'print 1' >&- close failed in file object destructor: Error in sys.excepthook: Original exception was: ---------- nosy: +pitrou priority: -> normal versions: +Python 3.2 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue7111> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com