@Author:CSU张扬
@Email:[email protected] or [email protected]
参考:https://pycallgraph.readthedocs.io/en/master/guide/index.html
仅供个人学习,未经授权的情况下禁止转载和盈利行为
下载地址:https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi
安装(路径可任意选择)
配置环境变量,在Path中添加:
例如我安装在F:\Program Files (x86),那么就添加环境变量F:\Program Files (x86)\Graphviz2.38\bin
cmd窗口命令行输入:pip install pycallgraph
在代码开头调用该库,如下:
from pycallgraph import PyCallGraph
from pycallgraph.output import GraphvizOutput
from pycallgraph import Config
from pycallgraph import GlobbingFilter
主函数操作:
(最终会保存在你的.py文件相同的文件夹里,名字为graph.png)
def main():
# 你的主函数代码。
if __name__ == "__main__":
config = Config()
# 关系图中包括(include)哪些函数名。
#如果是某一类的函数,例如类gobang,则可以直接写'gobang.*',表示以gobang.开头的所有函数。(利用正则表达式)。
config.trace_filter = GlobbingFilter(include=[
'main',
'draw_chessboard',
'draw_chessman',
'draw_chessboard_with_chessman',
'choose_save',
'choose_turn',
'choose_mode',
'choose_button',
'save_chess',
'load_chess',
'play_chess',
'pop_window',
'tip',
'get_score',
'max_score',
'win',
'key_control'
])
# 该段作用是关系图中不包括(exclude)哪些函数。(正则表达式规则)
# config.trace_filter = GlobbingFilter(exclude=[
# 'pycallgraph.*',
# '*.secret_function',
# 'FileFinder.*',
# 'ModuleLockManager.*',
# 'SourceFilLoader.*'
# ])
graphviz = GraphvizOutput()
graphviz.output_file = 'graph.png'
with PyCallGraph(output=graphviz, config=config):
main()