方法一:使用 traceback 库
可以使用 Python 的 traceback 库来获取调用程序的位置信息。代码示例如下:
import traceback
def func1(): func2()
def func2(): func3()
def func3(): traceback.print_stack()
func1()
运行上述代码,输出结果如下:
File "example.py", line 13, in
可以看到,print_stack() 函数输出了整个调用堆栈的信息,其中包含函数名和所在文件的行数。
方法二:使用 inspect 库
还可以使用 Python 的 inspect 库来获取调用程序的位置信息。代码示例如下:
import inspect
def func1(): func2()
def func2(): func3()
def func3(): frame = inspect.currentframe() info = inspect.getframeinfo(frame.f_back) print(info.filename, info.lineno)
func1()
运行上述代码,输出结果如下:
example.py 5
可以看到,getframeinfo() 函数返回了调用程序所在的文件名和行数。
总结:以上两种方法均能够获取调用程序的位置信息,使用哪种方法取决于具体的需求。使用 traceback 库可以输出整个调用堆栈的信息,调试时比较方便;而使用 inspect 库则可以更方便地获取调用程序所在的文件名和行数。
上一篇:编写承诺API