繁体   English   中英

Python:跟踪python函数激活的源代码行

[英]Python: tracing lines of source code that python function activates

我知道如何通过inspect模块在其源代码中找到 python 函数的位置

import inspect
inspect.getsourcefile(random_function)

然而,一个 python 函数正在运行时,或者它运行之后,如何找到它在单独运行期间使用/引用的所有源代码片段?

例如,如果我运行random_function(arg1=1, arg2=2)random_function(arg1=1, arg5=3.5) ,我想知道每次使用模块的哪些不同部分。

有没有像这里的例子?

你可以通过使用dis模块获取字节码的信息来做到这一点。 例如:

import dis
import numpy as np

def main():
    array = np.zeros(shape = 5)

if __name__ == '__main__':
    print(dis.dis(main))

结果:

  5           0 LOAD_GLOBAL              0 (np)
              2 LOAD_ATTR                1 (zeros)
              4 LOAD_CONST               1 (5)
              6 LOAD_CONST               2 (('shape',))
              8 CALL_FUNCTION_KW         1
             10 STORE_FAST               0 (array)
             12 LOAD_CONST               0 (None)
             14 RETURN_VALUE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM