os.close()杀死python脚本没有异常

时间:2015-01-30 15:16:59

标签: python

以下脚本:

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

没有更多。没有例外。有什么猜测发生了什么?

2 个答案:

答案 0 :(得分:5)

来自documentation(强调我的):

  

文件描述符是对应于具有的文件的小整数   由当前进程打开。例如,标准输入是   通常文件描述符0,标准输出为1 ,标准错误为   2。

脚本不会终止;您正在关闭standard output,因此无法显示该行之后打印的所有内容。

答案 1 :(得分:3)

os.close

  

关闭文件描述符fd

结束fd = 1关闭STDOUT,这样您就不会再看到任何输出。