यह बेहतर है कि आप sys.exit () का उपयोग करने से बचें और इसके बजाय कार्यक्रम को साफ-सुथरा खत्म करने की अनुमति दें। यदि आप ट्रेसबैक बंद करना चाहते हैं, तो बस उपयोग करें:
sys.trackbacklimit=0
आप इसे अपनी स्क्रिप्ट के शीर्ष पर सेट कर सकते हैं सभी ट्रेसबैक आउटपुट स्क्वैश करने के लिए, लेकिन मैं इसे अधिक संयम से उपयोग करना पसंद करता हूं, उदाहरण के लिए "ज्ञात त्रुटियां" जहां मैं चाहता हूं कि आउटपुट साफ हो, उदाहरण के लिए फ़ाइल foo.py:
import sys
from subprocess import *
try:
check_call([ 'uptime', '--help' ])
except CalledProcessError:
sys.tracebacklimit=0
print "Process failed"
raise
print "This message should never follow an error."
यदि CalledProcessError को पकड़ा जाता है, तो आउटपुट इस तरह दिखेगा:
[me@test01 dev]$ ./foo.py
usage: uptime [-V]
-V display version
Process failed
subprocess.CalledProcessError: Command '['uptime', '--help']' returned non-zero exit status 1
यदि कोई अन्य त्रुटि होती है, तो भी हमें पूर्ण ट्रेसबैक आउटपुट मिलता है।