IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 导出python源码的函数调用关系图的方法 -> 正文阅读

[Python知识库]导出python源码的函数调用关系图的方法

1. pycallgraph+graphviz

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

2. pyreverse+graphviz

??该方法不需要修改源码,演示效果也很好,但是运行指令时有可能会出现如下报错。plint github开源库对于此问题的问答至今(2022年4月12日)没有很好的解决,他们分别是问答1问答2。具体操作参考:生成项目UML框架图-pyreverse介绍将Python源码自动生成UML类图python的UML类图自动生成工具–pyreverse安装和使用这三篇博客。
运行该指令可以正常使用:

pyreverse -f ALL -ASmy ./train.py

运行该指令会报错:

$ pyreverse --module-names=y --class=module.entry.SumoRunner ./train.py
astroid.exceptions.InferenceError: Inference failed for all members of ().

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知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-14 23:50:39  更:2022-04-14 23:52:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 22:32:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计