自动为未捕获的异常回溯上色

colored-traceback的Python项目详细描述


自动为python的未捕获异常回溯上色。

这个是给那些在 终点站。关于每帧两行的方法 它们很难进行视觉扫描。

比较这个:

Traceback (most recent call last):
  File "./workflowy.py", line 525, in <module>
    main()
  File "./workflowy.py", line 37, in main
    projects = cli.load_json(args, input_is_pipe)
  File "./workflowy.py", line 153, in load_json
    return json.load(sys.stdin)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 290, in load
    **kw)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 383, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

对此:

Traceback(mostrecentcalllast):File"./workflowy.py",line525,in<module>main()File"./workflowy.py",line37,inmainprojects=cli.load_json(args,input_is_pipe)File"./workflowy.py",line153,inload_jsonreturnjson.load(sys.stdin)File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py",line290,inload**kw)File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py",line338,inloadsreturn_default_decoder.decode(s)File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py",line365,indecodeobj,end=self.raw_decode(s,idx=_w(s,0).end())File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py",line383,inraw_decoderaiseValueError("No JSON object could be decoded")ValueError:NoJSONobjectcouldbedecoded

安装

通过PIP:

pip install colored-traceback

或直接:

git clone http://www.github.com/staticshock/colored-traceback.py
python setup.py install

在没有真正支持ansi转义序列的windows上,有一个 对colorama的附加依赖性

pip install colorama

用法

彩色回溯可以作为一个模块执行:

python -m colored_traceback somefile.py

彩色回溯在脚本中甚至直接在 翻译回复标准用法会给输出着色,除非 重定向到管道:

importcolored_tracebackcolored_traceback.add_hook()

如果要保留颜色,即使在stderr正在管道中,在 始终=真参数:

importcolored_tracebackcolored_traceback.add_hook(always=True)

还有一些方便的进口产品,它们的足迹可以减少到 一行:

# Same as add_hook()importcolored_traceback.auto# Same as add_hook(always=True)importcolored_traceback.always

不言而喻,您可能希望捕获到 可选包装:

try:importcolored_traceback.autoexceptImportError:pass

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过解决错误“活动无法转换为片段”将片段传递给类构造函数?   Java中清理Code39条码数据的regex帮助   将java转换为C++   java无法在Android Studio中生成签名的apk,出现错误   从数学方程出发   MySQL和Java内存问题   如何强制Java抛出算术异常?   java为什么JDBC将零端口视为空(默认)端口?   java如何在没有“changelog主题”的情况下加入KStream和KTable   排序我尝试合并两个排序的数组,但得到的是java。lang.ArrayIndexOutofBounds异常:5无法找出原因   如何在java中求大长度矩阵的逆?   基于maven构建的java生成类路径字符串   java每20个字符分割一个字符串,然后将每个部分打印到控制台   将字符串数字字转换为字符串数字:Java   在特定区域使用混合类型的java填充字节数组   尽管java类在开关块中实例化,但它只能调用接口方法