zoukankan      html  css  js  c++  java
  • inspect的使用

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

      

  • 相关阅读:
    Mybatis实现数据的增删改查(CRUD)
    Spring MVC基础入门
    Swap in C C++ C# Java
    java和c#使用hessian通信
    基于Netty4的HttpServer和HttpClient的简单实现
    RabbitMQ的几种典型使用场景
    java多线程编程
    singleton pattern的推荐实现
    python多线程编程
    基于GMap.Net的地图解决方案
  • 原文地址:https://www.cnblogs.com/c-x-a/p/9626173.html
Copyright © 2011-2022 走看看