我正在使用Pycallgraph来生成输出,但我想保存中间图形输出(而不是生成图像),因为我想对它进行一些小的修改。
我正在运行:
PYTHONPATH=. pycallgraph -d graphviz -- ./ab_ndh_graph.py > out.graphd
这产生了2件事:
如何才能为“filter_max_depth”生成图形输出?
文件内容:
config = Config(max_depth=2)
config.trace_filter = GlobbingFilter(exclude=[
'pycallgraph.*',
])
graphviz = GraphvizOutput(output_file='filter_max_depth.png')
with PyCallGraph(output=graphviz, config=config):
o = AB_NDH()
o.run()
答案 0 :(得分:0)
GraphvizOutput
类使用临时文件输出dot
源,并在该文件上运行dot
命令行工具,然后再次清理它。
但是,您可以在运行generate()
后调用PyCallGraph
方法轻松重新生成相同的文件内容:
with open('filter_max_depth.graphd', 'w') as dotfile:
dotfile.write(graphviz.generate())
您还可以打开config
对象的调试选项;在这种情况下,dot
源被写入日志。在.debug
对象上设置config
标志:
config.debug = True
但不在命令行上使用-d
:
PYTHONPATH=. pycallgraph graphviz -- ./ab_ndh_graph.py > out.graphd
基本上,这与添加print graphviz.generate()
相同。