python项目入门新手攻略

时间:2024-05-01 18:47:24

最近工作需要接手了代码量比较大的python开发的项目,平时写python不多,记录一下如何熟悉项目。

分析调用流程-pycallgraph

因为代码量比较大,所以希望通过工具生成代码调用流程,因此用到了pycallgraph。

pycallgraph(Python Call Graph)是一个专业的代码调用流程可视化工具,地址在这里

安装步骤

环境Ubuntu2004,指令如下:

sudo apt install python3-pycallgraph

使用方式

pycallgraph有两种使用方式,一是命令行,二是代码调用

# 命令行调用
pycallgraph graphviz -- 测试的脚本

执行完成后当前目录下会出现一张图片,显示所有涉及到的调用流程,包括python内部的实现

生成的流程图如下:

简单的程序可以直接用命令行实现,不过复杂的程序这样看起来太乱了,推荐使用代码过滤。

from pycallgraph import PyCallGraph
from pycallgraph import Config
from pycallgraph import GlobbingFilter
from pycallgraph.output import GraphvizOutput
# 以上是需要引入的
from banana import Banana

# 设置过滤器
config = Config()
# exclude是不包含,include是包含
config.trace_filter = GlobbingFilter(exclude=[
    'pycallgraph.*',
    '*.secret_function',
])

# 设置输出文件的名称
graphviz = GraphvizOutput(output_file='filter_exclude.png')

# 运行的代码加在这一行后面
with PyCallGraph(output=graphviz, config=config):
    banana = Banana()
    banana.eat()

这样可以选择性的呈现流程,选择之后的效果图(不是上面这份代码的图)如下:

这样清晰多了。

生成uml图

安装步骤

sudo apt install pylint

使用方式

pyreverse -ASmy -o png  测试的脚本或者目录

运行完成之后当前目录会出现uml图,可以查看类以及提供的接口。

参考链接

python的UML类图自动生成工具--pyreverse安装和使用-****博客

使用pycallgraph和graphviz查看函数调用图-****博客