在交互式控制台中:
>>> import sys
>>> sys.stdout
<open file '<stdout>', mode 'w' at 0xb7810078>
>>> sys.stdout.close()
>>> sys.stdout # confirming that it's closed
(...) ValueError: I/O operation on closed file
尝试还原:
>>> sys.stdout.open()
(...) AttributeError: 'file' object has no attribute 'open'
>>> sys.stdout.write('foo')
(...) ValueError: I/O operation on closed file
我同意这是一个无聊的问题,但我很好奇如何在 Python 中恢复 sys.stdout.close() (当然,无需重新启动交互式控制台)以及为什么 sys.stdout.open() 没有意义。