zoukankan      html  css  js  c++  java
  • python inspect.stack() 的简单使用

    1.

    复制代码
    #python
    # -*- encoding: utf-8 -*-
    #获取函数的名字
    import inspect
    def debug():
        callnamer = inspect.stack()
        print('[debug] enter: {}'.format(callnamer))
    
    debug()
    复制代码

    [debug] enter: [FrameInfo(frame=<frame object at 0x000000000096D448>, filename='E:/pythontest/sort.py', lineno=6, function='debug', code_context=[' callnamer = inspect.stack() '], index=0), FrameInfo(frame=<frame object at 0x00000000008F8828>, filename='E:/pythontest/sort.py', lineno=9, function='<module>', code_context=['debug() '], index=0)]

    可以看出是一个列表

    2.选取列表的第二项

    复制代码
    #python
    # -*- encoding: utf-8 -*-
    #获取函数的名字
    import inspect
    def debug():
        callnamer = inspect.stack()[1]
        print('[debug] enter: {}'.format(callnamer))
    
    debug()
    复制代码

    [debug] enter: FrameInfo(frame=<frame object at 0x00000000004A8828>, filename='E:/pythontest/sort.py', lineno=9, function='<module>', code_context=['debug() '], index=0)

    3.选取函数的名字

    复制代码
    #python
    # -*- encoding: utf-8 -*-
    #获取函数的名字
    import inspect
    def debug():
        callnamer = inspect.stack()[1][4]
        print('[debug] enter: {}'.format(callnamer))
    
    debug()
    复制代码

    [debug] enter: ['debug() ']

  • 相关阅读:
    生成器
    迭代器
    闭包函数
    装饰器(2)
    装饰器(1)
    名称空间与作用域(2)
    110.网络编程-mail
    109.网络编程-FTP
    108.网络编程-TCP/UDP
    107.xpath
  • 原文地址:https://www.cnblogs.com/taosiyu/p/12012359.html
Copyright © 2011-2022 走看看