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

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第三方库


热门话题
使用applets查询的多人java游戏?   java如何基于字符串生成数组   基于java多边形的路径查找   java如何对多列ArrayList排序   java批处理更新从更新中返回了意外的行数(Spring/Hibernate)   java如何使用SeleniumWebDriver列出<tr>标记内的所有<td>   java如何使用SimpleFlatMapper将前缀为CSV的列别名到映射?   java为什么通过eclipse运行/调试TomCat时会出现ClassNotFoundException   java Android滚动视图上次视图未显示内部线性布局   替换字符串中不带空格的字符序列   调用方法时Java Swing GUI冻结   java是否允许/建议重用收集器?   在同步方法中使用java hashmap迭代器时   在java XMLDecoder XMLEncoder中写入XMLdatabase   java I无法在活动的片段中填充recyclerview   java Jitsi在调用过程中播放WAV文件如果可能,与音频混合   java JPA为什么我看到DB中每行有两个实体实例?