# -*- 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)