Sys.exit () kullanmaktan kaçınmak ve programın temiz bir şekilde bitmesine izin vermek için istisnaları kaldırmak / işlemek çok daha iyi bir uygulamadır. Geri izlemeyi kapatmak istiyorsanız, şunu kullanın:
sys.trackbacklimit=0
Bunu, tüm geri izleme çıktısını ezmek için komut dosyanızın üst kısmında ayarlayabilirsiniz, ancak daha açık bir şekilde, örneğin çıktının temiz olmasını istediğiniz "bilinen hatalar", örneğin foo.py dosyasında kullanmayı tercih ederim:
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 yakalanırsa, çıktı şöyle görünür:
[me@test01 dev]$ ./foo.py
usage: uptime [-V]
-V display version
Process failed
subprocess.CalledProcessError: Command '['uptime', '--help']' returned non-zero exit status 1
Başka bir hata oluşursa, tam geri izleme çıktısını almaya devam ederiz.