Python traceback.print_exc()是否打印到stdout或stderr?

我读过一些Python docs,但是找不到print_exc函数的打印位置.所以我搜索了一些堆栈溢出,它说“print_exc()将格式化的异常打印到stdout”. Link

我一直很困惑..在我看来,这个功能应该打印到stderr,因为它是错误的!..什么是对的?

最佳答案
它打印到stderr,从以下测试中可以看出:

$cat test.py
try:
    raise IOError()
except:
    import traceback
    traceback.print_exc()
$python test.py
Traceback (most recent call last):
  File "test.py", line 2, in <module>
     raise IOError()
IOError
$python test.py > /dev/null
Traceback (most recent call last):
  File "test.py", line 2, in <module>
     raise IOError()
IOError
$python test.py 2> /dev/null
$

转载注明原文:Python traceback.print_exc()是否打印到stdout或stderr? - 代码日志