non*_*all 4 python stdout python-3.x
Python新手在这里.我正在编写一个脚本,可以将一些输出转储到文件或stdout,具体取决于传递给它的参数.在解释参数时,我会分配一个open'ed文件或stdout一个名为的全局变量output_file,无论选择哪种类型的流,脚本的其余部分都可以使用该变量来写输出.在剧本的最后我close output_file.这适用于文件流,虽然对于stdout来说是多余的,但我使用其他编程语言的经验表明,在程序结束之前显式关闭stdout 没有任何害处.
但是,每当stdout用于输出(并随后关闭)时,我得到一个"ValueError:'对已关闭文件的I/O操作.'".我知道这个错误不是由我调用close stdout直接产生的,而是在我的脚本返回后发生的.我的问题是:为什么会发生这种情况,有没有办法手动关闭stdout而不触发它?(我知道只有在选择文件时才能通过有条件地关闭流来轻松解决问题,但我想知道是否/为什么这是必要的.)
非常简单的示范片段:
from sys import stdout
stdout.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
997 次 |
| 最近记录: |