Я не уверен, почему вы хотите удалить __main__
, потому что это имя модуля, и когда ваше исключение будет в модуле с соответствующим именем, оно будет выглядеть красиво, а не безобразно, например myexceptions.BadException
В качестве альтернативывы можете перехватывать исключения и печатать их по своему усмотрению.
Но если вы хотите, чтобы неперехваченные исключения печатались по вашему желанию, попробуйте установить sys.excepthook
например
class BadThings(Exception): pass
import traceback
def myexcepthook(type, value, tb):
l = ''.join(traceback.format_exception(type, value, tb))
print l
import sys
sys.excepthook = myexcepthook
raise BadThings("bad bad")
Вывод:
Traceback (most recent call last):
File "untitled-1.py", line 12, in <module>
raise BadThings("bad bad")
BadThings: bad bad
Таким образом, в sys.excepthook
вы можете изменить исключение, отформатировать его и т. Д.