飘逸的python - inspect谁调用了我
2015-07-21 14:40
106 查看
当程序出现诡异的bug时,我们需要层层去跟踪,尤其是要理清顺序。
这时如果有个清晰的调用脉络调试就容易多了。
利用inspect模块的getframeinfo方法来实现这需求。
上代码感受下。
[python] view
plaincopy
import inspect
def foo():
who = inspect.getframeinfo(inspect.currentframe().f_back)[2]
print '{} call me'.format(who)
def a():
foo()
def b():
foo()
a()
b()
a()
结果输出:
a call me
b call me
a call me
这时如果有个清晰的调用脉络调试就容易多了。
利用inspect模块的getframeinfo方法来实现这需求。
上代码感受下。
[python] view
plaincopy
import inspect
def foo():
who = inspect.getframeinfo(inspect.currentframe().f_back)[2]
print '{} call me'.format(who)
def a():
foo()
def b():
foo()
a()
b()
a()
结果输出:
a call me
b call me
a call me
相关文章推荐
- python实现查找文件名包含指定字符串的文件
- [python] 发GET请求
- python 中 高阶函数
- python sqlite3 插入数据例程
- python 使用list和tuple
- 使用python客户端访问impala
- python enumerate 用法
- Python的惯例
- Python资源
- [python-1]数据类型、控制流语句、模块、函数和类
- Python函数相关
- 在sublimetext上打造一个兼容virtualenv的web&python开发环境
- python的按位运算
- python 科学工作环境搭建
- 在Python的Django框架中使用通用视图的方法
- python 代码检查,实现行级代码优化
- 使用Python获取/dev/input目录下event对应的设备
- python 字典访问的三种方法
- Python
- Python学习打算