os.close() 无异常终止 Python 脚本。

4
以下脚本:
import os

def call_close(fd):
    try:
        print fd
        os.close(fd)
    except Exception as e:
        print 'Exception:', e

for fd in range(10):
    call_close(fd)

打印

0
1

没有更多的信息,也没有例外。你猜会发生什么?


可能与本文相关:https://dev59.com/MoDba4cB1Zd3GeqPFo_9请仅返回翻译后的文本。 - Paul Lo
2个回答

5
根据文档(强调我):
文件描述符是对应于当前进程打开的文件的小整数。例如,标准输入通常是文件描述符0,标准输出是1,标准错误是2。
脚本没有终止;您正在关闭标准输出,因此在该行之后打印的任何内容都无法显示。

4

os.close:

关闭文件描述符fd

关闭fd = 1将关闭STDOUT,因此您将不再看到任何输出。


太好了。我的真正问题是日志记录停止工作,但原因是相同的。 - Jiří Polcar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接