Я хочу проанализировать печать исключения, чтобы не отображались все данные исключения.Python stderr - сообщение об исключении синтаксического анализа
, например, у меня есть следующее сообщение об исключении:
Traceback (самый последний вызов последнего): Файл "C: \ flow_development \ console_debug_sample.py", строка 52, в рейза Exception (» исключение происходит ') исключение: исключение происходит
, и я хочу, чтобы разобрать это исключение, которое будет отображаться только сообщение об исключении:
Исключение происходит
для этого я использую код:
class Unbuffered:
def __init__(self, stream):
self.stream = stream
def write(self, data):
self.stream.write(data)
self.stream.flush()
def __getattr__(self, attr):
return getattr(self.stream, attr)
if __name__ == "__main__":
sys.stdout = Unbuffered(sys.stdout)
sys.stderr = Unbuffered(sys.stderr)
raise Exception('Exception occur')
Но, каждая строка в исключения вызова функции «записи» по отдельности, так что я не могу смывать все сообщения исключений и разобрать.
Любая идея?
Почему на земле вы хотите сделать это? Вы понимаете, что вы скрываете * много полезной информации? На самом деле, если вы когда-либо открываете вопрос о SO и делаете * не * предоставляете * полные * исключения, то трассирующие люди (включая меня) * будут * спрашивать вас об этом. Поэтому я надеюсь, что вы делаете это только потому, что хотите экспериментировать с обработкой исключений, а не для реального использования. – Bakuriu