traceback.py 546 B

1234567891011121314151617181920
  1. #!/usr/bin/env python
  2. import sys,traceback,os
  3. sys.path.insert(0,'.')
  4. if 'TMUX' in os.environ: del os.environ['TMUX']
  5. f = open('my.err','w')
  6. try:
  7. sys.argv.pop(0)
  8. execfile(sys.argv[0])
  9. except SystemExit:
  10. sys.exit(int(str(sys.exc_info()[1])))
  11. except:
  12. l = traceback.format_exception(*sys.exc_info())
  13. exc = l.pop()
  14. def red(s): return '{e}[31;1m{}{e}[0m'.format(s,e='\033')
  15. def yellow(s): return '{e}[33;1m{}{e}[0m'.format(s,e='\033')
  16. sys.stdout.write('{}{} {}'.format(yellow(''.join(l)),red(exc),str(e[1])))
  17. traceback.print_exc(file=f)