导出python源码的函数调用关系图的方法
导出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(推荐)
可以参考如下教程:
- EA15逆向工程操作–从源码生成类图
- EA Reverse Engineering C++ Source Code
- enterprise architect (EA) 源码生成UML类图,帮助理解项目工程
- 用EA(EnterpriseArchitect)将C++的.h文件转换成UML类图
- 使用Sparx Systems Enterprise Architect将python源代码转换为uml图
- 用Enterprise Architect从源码自动生成类图(附图+工具)
6. Visual Paradigm(未尝试)
参考如下教程:
Visual Paradigm Reverse Engineering C++ Source Code
7. Eric Python IDE(未尝试)
导出python源码的函数调用关系图的方法相关推荐
- python在线执行源码_在线浏览美图源码+python源码 – 运维那些事
源码介绍: 美图网站千千万,美图自己说了算!本源码由@香谢枫林 开发,首页图片做了浏览器窗口自适应,最大化占满PC浏览器和移动浏览器的窗口,并且防止出现滚动条. 功能介绍: 首页图片设置了4个点击功能 ...
- Python源码剖析[19] —— 执行引擎之一般表达式(2)
Python源码剖析 --Python执行引擎之一般表达式(2) 本文作者: Robert Chen(search.pythoner@gmail.com ) 3.2 Simple.py 前面我 ...
- Python源码剖析[16] —— Pyc文件解析
Python源码剖析[16] -- Pyc文件解析 2008-02-28 18:29:55| 分类: Python |举报 |字号 订阅 Python源码剖析 --Pyc文件解析 本文作者: Rob ...
- 《Python源码剖析》读书笔记
<Python源码剖析>电子书下载 http://download.csdn.net/detail/xiarendeniao/5130403 Python源码在官网有下载链接,用ctags ...
- c语言调用graphviz_c语言分析函数调用关系图(call graph)的几种方法
一.基于 Doxygen或 lxr 的API形式的文档系统. 二.基于CodeViz, CodeViz是<Understanding The Linux Virtual Memory Manag ...
- Python源码怎么读,听听顶级爬虫工程师的建议
图源来自Miguel Á. Padriñán 如何高效调试Python程序?Python内部的架构设计是怎样的?多业务类型的复杂系统中,Python语言的定位是? -- 以上问题,单从研究Python ...
- 详解 Python 源码之对象机制
在Python中,对象就是在堆上申请的结构体,对象不能是被静态初始化的,并且也不能是在栈空间上生存的.唯一的例外就是类型对象(type object),Python中所有的类型对象都是被静态初始化的. ...
- x264函数调用关系图
1 encoder 2 slice write 3 analyse FFMPEG中MPEG-2编解码函数调用关系图 1 Encoder (函数调用从左到右,下同:图片显示不全时,请下载显示) 2 P帧 ...
- java 字节码查看_一种查看java字节码时显示方法调用关系图的方法与流程
本发明涉及一种代码逻辑分析方法,具体涉及一种查看java字节码时显示方法调用关系图的方法. 背景技术: 目前软件反编译领域有不少对可执行文件进行反编译的工具如IDA,也有对Java代码生成的中间码文件 ...
最新文章
- bash脚本【一】——批量处理文件
- 优化网站的TDK要注意哪些问题?
- 01 决策树 - 数学理论概述 - 熵
- webpack里的module选项配置
- lucene join解决父子关系索引
- mysql导入向导,SQL Server--导入和导出向导
- Allegro 17.4设置中文界面
- Java内存模型与happens-before原则
- 带有JWT示例的​​Spring Oauth2
- 执行h2o的python命令时出现:TypeError: ‘NoneType‘ object is not callable
- Windows核心编程_修改U盘图标
- python书在线阅读_这7本O’Reilly推出的免费Python电子书,够你看了
- Java初级程序员面试中应该如何准备?一般公司对Java开发的要求有哪些?
- phpmyadmin mysql配置_phpmyadmin配置方式
- 知乎上 40 个有趣回复,很精辟很提神
- 2022年全球市场颈椎按摩仪总体规模、主要生产商、主要地区、产品和应用细分研究报告
- 9月赠书活动名单公布啦!
- python学习入门(一)
- 【重磅】MIT发布2018年“全球十大突破性技术”
- 常见的shell介绍(与bash功能类似的应用程序有哪些)
热门文章
- python计算两个向量夹角
- R语言实战 OLS回归
- PPT如何压缩文件大小?建议收藏这些方法
- 锐捷网络技能大赛-云平台部分-CentOS部分12-[Mariadb进阶-主从]
- C语言基础丨运算符之赋值运算符(五)
- 浅拷贝与深拷贝的区别(详解)
- 运行Java字节码和应用使用的命令名字为_在运行字节码文件中,使用java命令,一定要给出字节码文件的扩展名.class...
- IDEA笔记1(标识符 浮点数 转义字符)
- python安装 pycurl
- 男人应该怎么样,怎么做?才象个男人