zoukankan      html  css  js  c++  java
  • python里怎么样通过函数名称来获取函数地址

    如果你想通过函数的名称来获取函数的运行地址,可以像下面这样实现:

    # File: builtin-import-example-2.py

    def getfunctionbyname(module_name, function_name):
    module = __import__(module_name)
    return getattr(module, function_name)

    print( repr(getfunctionbyname("dbm", "open")) )

    在这段代码里,通过open字符串的名称获取数据库管理模块dbm的open函数地址。
    运行之后,输出如下:

    === RESTART: D:workcsdnpython_Game1exampleuiltin-import-example-2.py ===
    <function open at 0x00000226467B2BF8>
    >>> 

    python获取调用栈中的函数信息

    导入sys模块,

    sys._getframe(i)表示栈中第i层,i=0表示栈顶

    sys.getframe(i).f_code.co_name表示第i层的函数

    例如

    import treePlotter as tp
    import sys

    def a():
    b()
    def b():
    c()
    def c():
    print(sys._getframe(0).f_code.co_name)
    print(sys._getframe(1).f_code.co_name)
    print(sys._getframe(2).f_code.co_name)
    a()
    返回值为
    D:pythonpython.exe F:/python/Tree/two.py
    c
    b
    a

  • 相关阅读:
    定时器的实现
    派遣函数
    IRP的同步
    duilib基本流程
    驱动程序的同步处理
    WFP在包含fwpmu.h头的时候出错
    自己写的驱动用CreateFile打开时错误码返回1的问题
    Windows内核函数
    16_会话技术_Session
    15_会话技术_Cookie
  • 原文地址:https://www.cnblogs.com/wangdongpython/p/11305356.html
Copyright © 2011-2022 走看看