python:利用Graphviz和pyreverse 分析类文件自动生成UML图

需求

阅读一些源码时,想直观的看一下它的UML类关系图。
搜索发现已有相关的软件可以实现这个功能。

安装软件

个人开发环境:windows+vscode

  1. graphviz
    在官网安装即可:graphviz
    注意:安装好后,将安装路径添加到环境变量中。我的路径是C:\Program Files (x86)\Graphviz2.38\bin
  2. pyreverse
    该程序已集成在pylint模块中,若未安装pylint,需先安装:pip install pylint

使用

操作流程:

  1. pyreverse -ASmy -o dot test.py
    在命令行(python)下执行该命令,作用:pyreverse 会分析test.py中的类关系,然后生成classes.dot文件。
    可指定输出文件名:pyreverse -ASmy -o dot -p test test.py,运行后会生成classes_test.dot文件。
    也可指定分析某个文件夹:pyreverse -ASmy -o dot folder/
    注:看其他博客可直接一步生成图片:pyreverse -ASmy -o png test.py。但我会报错,看提示信息是:只支持输出dot文件。那就再转一下吧。
  2. dot -Tpng classes.dot -o test.png
    在命令行下执行该命令,作用:graphviz将.dot文件解析为图片。

结果图如下:
只能看到继承关系(简单猜想:若想分析其他类关系,比如依赖、组合等,会极大增加复杂度。)Anyway,暂时满足简单需求了。以后想看其他关系,再去认真研究下。

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章