traceback.py 563 B

1234567891011121314151617181920212223
  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. try:
  11. sys.exit(int(str(sys.exc_info()[1])))
  12. except:
  13. sys.exit(1)
  14. except:
  15. l = traceback.format_exception(*sys.exc_info())
  16. exc = l.pop()
  17. def red(s): return '{e}[31;1m{}{e}[0m'.format(s,e='\033')
  18. def yellow(s): return '{e}[33;1m{}{e}[0m'.format(s,e='\033')
  19. sys.stdout.write('{}{}'.format(yellow(''.join(l)),red(exc)))
  20. traceback.print_exc(file=f)