[英]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.