在C/C++程序调试中经常用到的几个宏:__FILE__、__FUNCTION__、__LINE__,最近写python程序遇到问题调试时也想用下这种方式,找了下网上资料,发现这个问题还有不少人问,估计都是像我这种刚从C/C++转到python的吧。python中获取当前位置所在的函数名和行号都封装在sys中,获取方法如下:
- import sys
- def get_cur_info():
- print sys._getframe().f_code.co_filename #当前文件名,可以通过__file__获得
- print sys._getframe().f_code.co_name #当前函数名
- print sys._getframe().f_lineno #当前行号
- get_cur_info()
其他函数请参考:dir(sys._getframe()).