导出python源码的函数调用关系图的方法

  • 1. pycallgraph+graphviz
  • 2. pyreverse+graphviz
  • 3. pycharm(推荐)
  • 4. starUML
  • 5. EnterpriseArchitecture(推荐)
  • 6. Visual Paradigm(未尝试)
  • 7. Eric Python IDE(未尝试)

  其实准确的说是类图,经过实践不能导出函数的调用关系,如果读者谁做到函数的调用关系图,请分享给大家。详述如下:

1. pycallgraph+graphviz

  需要修改源码,在源码中加入pycallgraph代码,用于导出函数调用关系描述语言。该方法因为需要修改源码,不适合大工程。详情可参考mb5fdb1266ce6df的文章和Python小屋屋主的文章)。

2. pyreverse+graphviz

  该方法不需要修改源码,演示效果也很好。具体操作参考:生成项目UML框架图-pyreverse介绍、将Python源码自动生成UML类图和python的UML类图自动生成工具–pyreverse安装和使用这三篇博客。
下面是两条常用指令:

pyreverse -f ALL -ASmy ./train.py
pyreverse --module-names=y -ASmy ./train.py

3. pycharm(推荐)

  最推荐的一种方式,效果很好,操作很傻瓜,具体方法如下:(引用自草票在其问答中的回复)
  生成python脚本类图的最简单方法是使用Pycharm IDE。 第1步:为python脚本创建一个包(Alt + Insert→Python包) 第2步:右键单击创建的包文件,然后选择选项图 第3步:选择图表选项后,您可以选择顶部的选项来添加方法 更多信息:https://confluence.jetbrains.com/display/PYH/Working+with+UML+class+diagrams+in+PyCharm

4. starUML

实验过不行,因为至今(2022年4月12日),其python的插件还不支持逆向生成python的UML图,但是C++可以(tools -> C++ -> Reverse Code … -> 选择头文件)。

5. EnterpriseArchitecture(推荐)

可以参考如下教程:

  1. EA15逆向工程操作–从源码生成类图
  2. EA Reverse Engineering C++ Source Code
  3. enterprise architect (EA) 源码生成UML类图,帮助理解项目工程
  4. 用EA(EnterpriseArchitect)将C++的.h文件转换成UML类图
  5. 使用Sparx Systems Enterprise Architect将python源代码转换为uml图
  6. 用Enterprise Architect从源码自动生成类图(附图+工具)

6. Visual Paradigm(未尝试)

参考如下教程:

Visual Paradigm Reverse Engineering C++ Source Code

7. Eric Python IDE(未尝试)

导出python源码的函数调用关系图的方法相关推荐

  1. python在线执行源码_在线浏览美图源码+python源码 – 运维那些事

    源码介绍: 美图网站千千万,美图自己说了算!本源码由@香谢枫林 开发,首页图片做了浏览器窗口自适应,最大化占满PC浏览器和移动浏览器的窗口,并且防止出现滚动条. 功能介绍: 首页图片设置了4个点击功能 ...

  2. Python源码剖析[19] —— 执行引擎之一般表达式(2)

    Python源码剖析 --Python执行引擎之一般表达式(2) 本文作者: Robert Chen(search.pythoner@gmail.com ) 3.2     Simple.py 前面我 ...

  3. Python源码剖析[16] —— Pyc文件解析

    Python源码剖析[16] -- Pyc文件解析 2008-02-28 18:29:55|  分类: Python |举报 |字号 订阅 Python源码剖析 --Pyc文件解析 本文作者: Rob ...

  4. 《Python源码剖析》读书笔记

    <Python源码剖析>电子书下载 http://download.csdn.net/detail/xiarendeniao/5130403 Python源码在官网有下载链接,用ctags ...

  5. c语言调用graphviz_c语言分析函数调用关系图(call graph)的几种方法

    一.基于 Doxygen或 lxr 的API形式的文档系统. 二.基于CodeViz, CodeViz是<Understanding The Linux Virtual Memory Manag ...

  6. Python源码怎么读,听听顶级爬虫工程师的建议

    图源来自Miguel Á. Padriñán 如何高效调试Python程序?Python内部的架构设计是怎样的?多业务类型的复杂系统中,Python语言的定位是? -- 以上问题,单从研究Python ...

  7. 详解 Python 源码之对象机制

    在Python中,对象就是在堆上申请的结构体,对象不能是被静态初始化的,并且也不能是在栈空间上生存的.唯一的例外就是类型对象(type object),Python中所有的类型对象都是被静态初始化的. ...

  8. x264函数调用关系图

    1 encoder 2 slice write 3 analyse FFMPEG中MPEG-2编解码函数调用关系图 1 Encoder (函数调用从左到右,下同:图片显示不全时,请下载显示) 2 P帧 ...

  9. java 字节码查看_一种查看java字节码时显示方法调用关系图的方法与流程

    本发明涉及一种代码逻辑分析方法,具体涉及一种查看java字节码时显示方法调用关系图的方法. 背景技术: 目前软件反编译领域有不少对可执行文件进行反编译的工具如IDA,也有对Java代码生成的中间码文件 ...

最新文章

  1. bash脚本【一】——批量处理文件
  2. 优化网站的TDK要注意哪些问题?
  3. 01 决策树 - 数学理论概述 - 熵
  4. webpack里的module选项配置
  5. lucene join解决父子关系索引
  6. mysql导入向导,SQL Server--导入和导出向导
  7. Allegro 17.4设置中文界面
  8. Java内存模型与happens-before原则
  9. 带有JWT示例的​​Spring Oauth2
  10. 执行h2o的python命令时出现:TypeError: ‘NoneType‘ object is not callable
  11. Windows核心编程_修改U盘图标
  12. python书在线阅读_这7本O’Reilly推出的免费Python电子书,够你看了
  13. Java初级程序员面试中应该如何准备?一般公司对Java开发的要求有哪些?
  14. phpmyadmin mysql配置_phpmyadmin配置方式
  15. 知乎上 40 个有趣回复,很精辟很提神
  16. 2022年全球市场颈椎按摩仪总体规模、主要生产商、主要地区、产品和应用细分研究报告
  17. 9月赠书活动名单公布啦!
  18. python学习入门(一)
  19. 【重磅】MIT发布2018年“全球十大突破性技术”
  20. 常见的shell介绍(与bash功能类似的应用程序有哪些)

热门文章

  1. python计算两个向量夹角
  2. R语言实战 OLS回归
  3. PPT如何压缩文件大小?建议收藏这些方法
  4. 锐捷网络技能大赛-云平台部分-CentOS部分12-[Mariadb进阶-主从]
  5. C语言基础丨运算符之赋值运算符(五)
  6. 浅拷贝与深拷贝的区别(详解)
  7. 运行Java字节码和应用使用的命令名字为_在运行字节码文件中,使用java命令,一定要给出字节码文件的扩展名.class...
  8. IDEA笔记1(标识符 浮点数 转义字符)
  9. python安装 pycurl
  10. 男人应该怎么样,怎么做?才象个男人