python inspect.stack() 的简单使用

Posted littlevigra

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python inspect.stack() 的简单使用相关的知识,希望对你有一定的参考价值。

1.

#python
# -*- encoding: utf-8 -*-
#获取函数的名字
import inspect
def debug():
    callnamer = inspect.stack()
    print([debug] enter: {}.format(callnamer))

debug()

[debug] enter: [FrameInfo(frame=<frame object at 0x000000000096D448>, filename=‘E:/pythontest/sort.py‘, lineno=6, function=‘debug‘, code_context=[‘ callnamer = inspect.stack() ‘], index=0), FrameInfo(frame=<frame object at 0x00000000008F8828>, filename=‘E:/pythontest/sort.py‘, lineno=9, function=‘<module>‘, code_context=[‘debug() ‘], index=0)]

可以看出是一个列表

2.选取列表的第二项

#python
# -*- encoding: utf-8 -*-
#获取函数的名字
import inspect
def debug():
    callnamer = inspect.stack()[1]
    print([debug] enter: {}.format(callnamer))

debug()

[debug] enter: FrameInfo(frame=<frame object at 0x00000000004A8828>, filename=‘E:/pythontest/sort.py‘, lineno=9, function=‘<module>‘, code_context=[‘debug() ‘], index=0)

3.选取函数的名字

#python
# -*- encoding: utf-8 -*-
#获取函数的名字
import inspect
def debug():
    callnamer = inspect.stack()[1][4]
    print([debug] enter: {}.format(callnamer))

debug()

[debug] enter: [‘debug() ‘]

以上是关于python inspect.stack() 的简单使用的主要内容,如果未能解决你的问题,请参考以下文章

Python安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答

只用C++和Python,让你的简笔画实时动起来!

通过装饰器实现获取当前执行的用例名称

接口测试框架——第一篇

iOS 参考的简书作者

有理数的简算