You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PyCallGraph上下文管理器中排除pycallgraph2自身?

在脚本内排除PyCallGraph2自身调用的实现方法

PyCallGraph2支持通过内置的GlobbingFilter在脚本内部配置调用过滤规则,无需依赖命令行参数即可排除自身的调用记录。

修改后的最小可运行示例代码如下:

from pycallgraph2 import PyCallGraph
from pycallgraph2.output import GraphvizOutput
from pycallgraph2.globbing_filter import GlobbingFilter

with PyCallGraph(
    output=GraphvizOutput(),
    filters=[GlobbingFilter(exclude=['pycallgraph2.*'])]
):
    # 这里替换成你要分析的业务代码
    print("Hello, World")

关键说明

  • 导入GlobbingFilter类:该类用于定义模块命名空间的包含/排除规则,支持通配符*实现批量匹配。
  • 配置filters参数:在初始化PyCallGraph时传入filters列表,通过GlobbingFilter(exclude=['pycallgraph2.*'])指定排除所有以pycallgraph2.开头的模块调用。
  • 扩展过滤规则:如果需要排除其他第三方模块,只需在exclude列表中追加对应规则,比如exclude=['pycallgraph2.*', 'os.*']。

调整后生成的调用图将仅展示业务代码的调用链路,不会包含PyCallGraph2自身的内部调用。

内容的提问来源于stack exchange,提问作者Galen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:55:21