Python sys.gettrace()方法

sys.gettrace() 方法是获得平台的Python解释器的回溯调用的一种有效方式。回溯调用是在代码中发生一个事件时返回的信息。

Pythonsys.gettrace() 方法的语法

sys.gettrace()

参数

不需要参数。它是一个不可调用的对象。

返回值

该方法的返回类型是由sys.settrace() 方法设置的跟踪函数。

示例代码:使用sys.gettrace() 方法工作

import sys
from sys import settrace
def trace(frame , event, arg):
    code = frame.f_locals["a"]
    if code % 2 == 0:
        frame.f_locals["a"] = code
def f(a):
    print (a)
if __name__ == "__main__":
    sys.settrace(trace)
    for x in range(0,10):
        f(x)
print(sys.gettrace())

输出:

0
1
2
3
4
5
6
7
8
9
<function trace at 0x7f344f73a280>

在上面的代码中,我们修改了发送给一个函数的参数。该函数使用了一个for 循环,对指定范围内的数字进行计数。

在设置了系统跟踪调用后,我们使用sys.gettrace() 方法来返回跟踪调用。