python使用inspect.stack()获取上层调用函数信息

说明

使用inspect.stack()可以获得一个数组,其中的每个元素分别是[0]本层、[1]上层、[2]上上层…的函数的信息,在日志中打印这些信息可以方便定位报错位置
每个元素中可以获取的常用属性如下(*除了这些还有其他属性,可自行输出查看):

属性名称说明
filename文件名
function函数名
lineno行号

示例

目录结构

在这里插入图片描述

test_import.py

定义了test_func函数,在其中获取inspect.stack,并打印当前级别[0]和上层[1]的调用信息

import inspect

def test_func():
    stack_info=inspect.stack()
    print("stack_info[0]:",stack_info[0].filename,stack_info[0].function,stack_info[0].lineno)
    print("stack_info[1]:",stack_info[1].filename,stack_info[1].function,stack_info[1].lineno)
    

test_inspect.py

导入test_import,并在main函数中执行test_import.test_func函数

import test_import


def main():
    test_import.test_func()
    
if __name__=="__main__":
    main()

运行结果

可以看到:
[0]是本层的调用函数信息,文件是test_import.py,函数是test_func,行号4
[1]是上层调用函数信息,文件是test_inspect.py,函数是mian,行号5
在这里插入图片描述


参考链接

python基础:inspect模块各函数的用法

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值