带有更精确位置信息的traceback
项目描述
loctraceback
想要更精确地看到您在traceback或callstack中的位置或曾经的位置吗?即使代码是在运行时使用例如eval或exec创建的,或者没有可找到的源代码呢?
那么这个包就是为您准备的。
此模块可以解歧的一些代码示例
i / j / k # which divide?
prev[prev[0]] # which prev ?
[e[0] for i in d[j] if got[i] == e[i]] # lots going on here
exec(some_code % 10, namespace) # code at runtime
在example中运行代码给出的某些示例输出
除法示例
Traceback (most recent call last):
File "tb-div.py", line 9, in <module> at offset 52
a / b / c
a / b / c
-
ZeroDivisionError: float division by zero
列表推导式示例
File "tb-comp.py", line 9, in <listcomp> at offset 18
[e[0] for i in d[j] if got[i] == e[i]]
return [ e[0] for i in .0 if got[i] == e[i] ]
------
IndexError: list index out of range
exec示例
Traceback (most recent call last):
File "tb-exec.py", line 11, in <module> at offset 39
exec(s)
exec(s)
-------
File "<string>", line 4, in <module> at offset 18
z = x / y
-
ZeroDivisionError: division by zero
调用堆栈中隔离函数示例
File "call-fib.py", line 8, in fib at offset 58
return fib(n-1) + fib(n-2)
return fib(n - 1) + fib(n - 2)
----------
File "call-fib.py", line 10, in <module> at offset 54
print("fib({})={}".format(2, fib(2)))
------
此模块通过添加片段分解信息,扩展了Python 3.6 API traceback模块,以提供更精确的位置信息。
尽管API来自Python 3.6,但代码可以在3.3或更高版本上运行。将代码反向移植到其他Python版本留给读者作为练习。
有关此技术背后的信息的幻灯片,请参阅这些。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包的信息。
源分布
loctraceback-1.1.1.tar.gz (24.3 kB 查看散列值)
构建分布
loctraceback-1.1.1-py37-none-any.whl (12.8 kB 查看散列值)
loctraceback-1.1.1-py35-none-any.whl (12.8 kB 查看散列值)
loctraceback-1.1.1-py34-none-any.whl (12.8 kB 查看散列值)
loctraceback-1.1.1-py33-none-any.whl (14.8 kB 查看散列值)
loctraceback-1.1.1-py3.8.egg (25.5 kB 查看散列值)
loctraceback-1.1.1-py3.7.egg (25.4 kB 查看散列值)
loctraceback-1.1.1-py3.6.egg (25.4 kB 查看散列值)
loctraceback-1.1.1-py3.5.egg (25.8 kB 查看散列值)
loctraceback-1.1.1-py3.4.egg (25.9 kB 查看散列值)
loctraceback-1.1.1-py3.3.egg (26.1 kB 查看散列值)
关闭
loctraceback-1.1.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8b6936ae38ce86a100df1ce755908e8248d85112f7227399eefb207801baadf5 |
|
MD5 | bd407a696fc302557298100e2eae9940 |
|
BLAKE2b-256 | 4c19cf123589be67ae61cd90911753c37f67d861f031c618e75df445faffe7f2 |