python 打印调用函数名和文件名
Posted 游荡的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 打印调用函数名和文件名相关的知识,希望对你有一定的参考价值。
import inspect
import sys
def get_current_function_name():
funcName = sys._getframe().f_back.f_code.co_name # 获取调用函数名
print(dir(sys._getframe()))
print(dir(sys._getframe().f_back.f_code.co_filename))
print(sys._getframe().f_back.f_code.co_filename,"#",name,"#",file) #打印调用该函数 语句所在文件和 打印该函数所在模块和打印该函数所在文件名
#E:/project/script/testmodule/test04.py # script.testmodule.test05 # E:projectscript estmodule est05.py
print(sys._getframe().f_back.f_code.co_names) #(‘unittest‘, ‘chardet‘, ‘script.testmodule‘, ‘test05‘, ‘get_current_function_name‘)
lineNumber = sys._getframe().f_back.f_lineno # 获取行号
print(sys._getframe().f_code.co_name,"#########") # 获取当前函数名
print(funcName,lineNumber)
print("####%s.%s invoked" % (__name__, inspect.stack()))
return inspect.stack()[1][3]
class MyClass:
def function_one(self):
print("%s.%s invoked"%(self.__class__.__name__, get_current_function_name()))
if name == "main":
myclass = MyClass()
myclass.function_one()
print(sys._getframe().f_code.co_filename)
以上是关于python 打印调用函数名和文件名的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情
python面试题,设计装饰器,接收一个int类型的参数,可以用来装饰任何的函数, 如果函数运行的时间大于number,则打印出函数名和函数的运行时间