我想知道如何退出Python而不对输出进行跟踪转储。

我仍然希望能够返回错误代码,但我不想显示回溯日志。

我希望能够退出使用出口(数字)没有跟踪,但在异常(不是出口)的情况下,我想要跟踪。


当前回答

我会这样做:

import sys

def do_my_stuff():
    pass

if __name__ == "__main__":
    try:
        do_my_stuff()
    except SystemExit, e:
        print(e)

其他回答

使用内置的python函数quit()就可以了。 不需要导入任何库。 我使用的是python 3.4

import sys
sys.exit(1)

是什么

import sys
....
....
....
sys.exit("I am getting the heck out of here!")

没有追溯,而且更明确。

下面的代码将不会引发异常,并且将在没有回溯的情况下退出:

import os
os._exit(1)

请参阅此问题和相关答案了解更多细节。很惊讶为什么其他答案都这么复杂。

这也不会进行适当的清理,如调用清理处理程序,刷新stdio缓冲区等(感谢pabouk指出这一点)。

比如import sys;sys.exit (0) ?