簡體   English   中英

是否可以使用 coloured-traceback.py 以彩色打印`traceback.format_exc()`

[英]Is it possible to print `traceback.format_exc()` in color using colored-traceback.py

我正在記錄traceback.format_exc()的 output 。 是否可以在使用 print 或替代方法時使用coloured-traceback.py對其進行着色?

示例代碼:

import traceback
import colored_traceback
colored_traceback.add_hook(always=True)

a = 1 / 0 # prints colored traceback results 

try:
    a = 1 / 0
except:
    traceback.print_exc()  # prints in color white
    print(traceback.format_exc())  # prints in color white

colored_traceback看起來很有用,但我認為這對你的目標來說太過分了。 使用pygments庫和幾行代碼就可以達到想要的效果:

import traceback

from pygments import formatters, highlight, lexers


try:
    a = 1 / 0
except:
    tb_text = "".join(traceback.format_exc())

    lexer = lexers.get_lexer_by_name("pytb", stripall=True)
    formatter = formatters.get_formatter_by_name("terminal256")
    tb_colored = highlight(tb_text, lexer, formatter)

    print(tb_colored)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM