实现:
import inspect
get_line = lambda :inspect.getframeinfo(inspect.stack()[1][0]).lineno
get_file = inspect.__file__
get_func = lambda :inspect.getframeinfo(inspect.stack()[1][0]).function
调用
get_line()
测试
#encoding=utf-8
import inspect
get_line = lambda :inspect.getframeinfo(inspect.stack()[1][0]).lineno
get_file = inspect.__file__
get_func = lambda :inspect.getframeinfo(inspect.stack()[1][0]).function
def test_func():
print(get_file, get_func(), get_line())
if __name__ == "__main__":
test_func()
print(get_file, get_func(), get_line())
运行结果:
C:\Python36\lib\inspect.py test_func 9
C:\Python36\lib\inspect.py <module> 13