扩展的回溯格式化程序

xtraceback的Python项目详细描述


xtraceback是一个扩展的python回溯格式化程序,支持变量 扩展和语法突出显示。

示例

作为一个上下文管理器,stdlib回溯模块是猴子补丁:

>>> import sys
>>> import traceback
>>> import xtraceback
>>>
>>> def some_func():
...     some_var = 2*2
...     raise Exception("exc")
>>>
>>> with xtraceback.StdlibCompat():
...     try:
...         some_func()
...     except:
...         traceback.print_exc(file=sys.stdout) #doctest: +ELLIPSIS +REPORT_NDIFF
Traceback (most recent call last):
  File "<doctest README.rst[...]>", line 3, in <module>
    1 with xtraceback.StdlibCompat():
    2     try:
--> 3         some_func()
              g:some_func = <function some_func at 0x...>
              g:sys = <module 'sys' (built-in)>
              g:traceback = <module 'traceback' from='<stdlib>/traceback.pyc'>
              g:xtraceback = <package 'xtraceback' from='xtraceback'>
    4     except:
    5         traceback.print_exc(file=sys.stdout) #doctest: +ELLIPSIS +REPORT_NDIFF
  File "<doctest README.rst[...]>", line 3, in some_func
    1 def some_func():
    2     some_var = 2*2
--> 3     raise Exception("exc")
          some_var = 4
Exception: exc

作为系统例外挂钩:

>>> xtraceback.compat.install_sys_excepthook()
>>> print sys.excepthook #doctest: +ELLIPSIS
<bound method StdlibCompat.print_exception of <xtraceback.stdlibcompat.StdlibCompat object at 0x...>>
>>> raise Exception("exc") #doctest: +ELLIPSIS
Traceback (most recent call last):
  File "<stdlib>/doctest.py", line 1231, in __run
    compileflags, 1) in test.globs
  File "<doctest README.rst[...]>", line 1, in <module>
    raise Exception("exc") #doctest: +ELLIPSIS
Exception: exc

本身:

>>> try:
...     raise Exception("exc")
... except:
...     print xtraceback.XTraceback(*sys.exc_info(), color=False) #doctest: +ELLIPSIS
Traceback (most recent call last):
  File "<doctest README.rst[...]>", line 2, in <module>
    1 try:
--> 2     raise Exception("exc")
          g:some_func = <function some_func at 0x...>
          g:sys = <module 'sys' (built-in)>
          g:traceback = <module 'traceback' from='<stdlib>/traceback.pyc'>
          g:xtraceback = <package 'xtraceback' from='xtraceback'>
    3 except:
    4     print xtraceback.XTraceback(*sys.exc_info(), color=False) #doctest: +ELLIPSIS
Exception: exc
<BLANKLINE>

在站点自定义模块中:

import xtraceback
xtraceback.compat.install()

配置

有关选项及其默认值,请参见xtraceback.xtraceback的构造函数。什么时候? 使用stdlib compat,xtraceback.stdlibcompat类有一个默认值 应该用重写更新的字典-默认实例 存在于xTraceBuff.Copa:

xtraceback.compat.defaults.update(option=value[, ...])

安装

包裹在pypi上:

pip install xtraceback

语法突出显示取决于pygments库:

pip install pygments

鼻子插件

nose插件启用了带有xtraceback标志的。参见鼻子测试-帮助 其他选择。

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

推荐PyPI第三方库


热门话题
GridLayout不工作的java问题   java Restlet请求对象不包含身份验证信息   java使用Cucumber为每个正在运行的线程创建一个TestNG runner类   java在平面文件中存储并跟踪它们?   类Lcom/google/firebase/FirebaseApp中没有虚拟方法zzbzo()Z;或者它的超类   java如何在安卓中创建字符串模式   可从Java访问的树莓PI传感器   java 50+GB分隔文件中的大致行数   是否有Java进程内数据库,允许从多表虚拟机访问?   当我使用ArrayList时,HashMap中的Java ArrayList会导致HashMap中的数据被删除。去除   如何将值存储在最佳java集合结构中   java消息Servlet。servlet appServlet的init()引发异常   java正在使用Spring引导生成空日志文件   c#在访问实例变量时使用this关键字是否更有效?   java JScrollPane滚动到最后添加的行   java Vertx抛出IllegalStateException:响应已被写入   java Liferay以编程方式更改portlet列   java下载单个s3对象并将它们合并到单个文件中   java spark数据帧将JSON转换为ORC满足“列模糊异常”