# -*- coding: utf-8 -*- # @Time : 2018/9/11 10:29 # @Author : cxa # @File : inspecttest.py # @Software: PyCharm import inspect def get_inspect(): return inspect.stack() def get(): return get_inspect() if __name__ == '__main__': FrameInfo =get()[1] print("获取当前文件名",FrameInfo.filename) print("获取当前方法名",FrameInfo.function)
输出
获取当前文件名 C:/PythtonProject/test/MethodTest/inspecttest.py 获取当前方法名 get
其他:
# -*- coding: utf-8 -*- # @Time : 2018/9/11 10:29 # @Author : cxa # @File : inspecttest.py # @Software: PyCharm import inspect from requests_html import HTMLSession class Test(object): ''' 这是注释 ''' def test(self): self.fuc = lambda x: x class Testone(Test): pass if __name__ == '__main__': # print(inspect.getdoc(HTMLSession))#获取注释 # print(inspect.getsourcefile(HTMLSession))#获取文件路径 # print(inspect.getsourcefile(Test)) # print(inspect.getsourcelines(Test)) #代码块,每行一个元素,组成数组 # print(inspect.getsource(Test))#代码块 for k,v in inspect.getmembers(Test,callable):#获取可调用的自定义函数 if not k.startswith('_'): print(k,v) for k,v in inspect.getmembers(Test(),callable):#获取可调用的实例 if not k.startswith('_'): print(k,v)