Python pycallgraph的非图形输出

Python pycallgraph的非图形输出,python,pycallgraph,Python,Pycallgraph,我已经开始编写一个小型Python实用程序来缓存函数。可用的缓存工具lru_cache不会检测子功能的更改 为此,我需要一个调用图。by中存在一个优秀的工具。然而,到目前为止,我只能输出函数名字符串。我需要的是函数对象或函数代码哈希 这两个术语的意思是:让def foox:return x,那么foo是函数对象,hashfoo.\uu code\uu.co\u code是函数代码哈希 我所拥有的 你可以看看我有什么。但下面是一个最小的例子。我在这个例子中遇到的问题是,我不能再从函数名字符串转到函

我已经开始编写一个小型Python实用程序来缓存函数。可用的缓存工具lru_cache不会检测子功能的更改

为此,我需要一个调用图。by中存在一个优秀的工具。然而,到目前为止,我只能输出函数名字符串。我需要的是函数对象或函数代码哈希

这两个术语的意思是:让def foox:return x,那么foo是函数对象,hashfoo.\uu code\uu.co\u code是函数代码哈希

我所拥有的 你可以看看我有什么。但下面是一个最小的例子。我在这个例子中遇到的问题是,我不能再从函数名字符串转到函数定义。我在用evalfunc

所以,我想有两种方法可以解决这个问题:

正确的pycallgraph.output,或者直接从pycallgraph获取所需内容的其他方法。 从函数动态加载函数。\名称\字符串。
我已经用适当的散列修补了这个问题

         # Work out the current function or method
         func_name = code.co_name
+        func_hash = hash(code.co_code)
我正在计算保存函数名的位置的值。稍后,您显然还需要保存该值。我使用的是一个字典,其中func_名称是键,散列是值。在创建节点的函数中,我将其分配给stat_组中的一个新字段

         # Work out the current function or method
         func_name = code.co_name
+        func_hash = hash(code.co_code)