如何在Python中使用inspect从被调用方获取调用方的信息?

我需要从被呼叫者那里获取呼叫者信息(什么文件/什么行)。我了解到我可以使用inpect模块来实现这一目的,但不知道具体如何使用

如何使用inspect获取这些信息?或者有没有其他方法来获取信息

导入检查
打印文件__
c=检查.currentframe()
打印c.f_线条编号
def hello():
打印检查堆栈
?? 什么文件叫我在哪行?
你好()

调用方的帧比当前帧高一帧。您可以使用inspect.currentframe().f_back查找调用方的帧。
然后使用inspect.getframeinfo获取调用方的文件名和行号

导入检查
def hello():
前一帧=inspect.currentframe().f\u back
(文件名,行号,
函数(名称、行、索引)=inspect.getframeinfo(上一帧)
返回(文件名、行号、函数名、行、索引)
打印(hello())
#(’/home/unutbu/pybin/test.py’,10’,<module>’,[‘hello()\n’],0)

发表评论