sys._getframe(0).f_lineno到底做了什么?

时间:2017-02-16 17:41:25

标签: python sys

以下是代码。我粗略地了解sys._getframe(i).f_lineno,如果数字i大于0.那么,它是你实际进行函数调用时的行号。 Python解释器将它放在一个堆栈中。这就是你如何获得订购。我的意思是,这就是为什么当你打印出来时,你最先有一个函数调用。那么,有人可以向我解释一下sys.getframe(0).f_lineno是做什么的吗?我认为它必须与当前的python代码有关。

import sys

#print(sys.version)
a=sys._getframe(0)
print(a)
def one():
    two()

def two():
    three()

def three():
    for num in range(3):
        frame=sys._getframe(num)
        print(frame.f_lineno)
one()

0 个答案:

没有答案