python代码流程图的生成

这篇具有很好参考价值的文章主要介绍了python代码流程图的生成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(1)前言

在阅读一些源码或者了解项目结构的时候想直观的看一下代码的类关系图,以及程序运行时函数之间的调度图

学习调研了一番发现python现有的一些库已经可以直接实现生成UML图

(2)软件包安装

本人的开发环境是macos + vscode
1.pycallgraph

pip install pycallgraph

2.pyreverse
注意⚠️:这个模块已经集成在pylint中直接安装pylint

pip install pylint

3.graphviz
我自己是macos,所以直接在终端使用brew安装

brew install graphviz

(3)代码运行

(1)如果是生成程序运行过程的流程图的话采用pycallgraph

 from pycallgraph import PyCallGraph
 from pycallgraph.output import GraphvizOutput
 with PyCallGraph(output=GraphvizOutput()):
     a = sp_process(input_data)
# 其中sp_process是我整个程序的运行入口,替换成自己的即可

运行上述代码片段可以在文件目录下生成pycallgraph.png图片,这个图片会显示整个程序运行过程调用的所有的函数的调用过程。
(2)如果是生成静态的类关系的UML图可以使用pyreverse
在该脚本文件夹下打开cmd或powershell窗口,执行以下命令后,会在当前文件夹下生成classes.png。

# 直接在自己的终端运行
pyreverse -ASmy -o png test_recog.py

也可指定输出文件名

# 直接在自己的终端运行
pyreverse -ASmy -o png -p test test_recog.py

运行后会生成classes_test.png。
注意⚠️:如果没有直接生成png图片的话,有dot文件,可以使用下面dot命令将.dot文件解析成png图片

同样可以直接查看一个文件夹下的类关系的继承图

# 其中recog_modules是我的代码的文件夹
pyreverse recog_modules/

执行完上面的命令会在recog_modules的同文件夹下生成一个classes.dot以及packages.dot的文件,还需要将dot文件转换成png图片方便查看

dot -Tpng -o classes.png classes.dot dot -Tpng -o packages.png packages.dot

这样就可以在同目录文件夹下生成一个classes.png和一个package.png了。文章来源地址https://www.toymoban.com/news/detail-465858.html

到了这里,关于python代码流程图的生成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python实现+leetcode题+合并两个有序列表超详细流程图分析以及代码思路

    给你两个按非递减顺序排列的整数列表nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。 注意 :最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为

    2023年04月09日
    浏览(41)
  • Flowable 生成流程图

    2024年01月18日
    浏览(34)
  • ChatGPT - 快速生成 流程图

    好的,作为一名经验丰富的技术管理人员,我可以帮您梳理一个研发标准化的完整流程,包括需求分析、概要设计、代码走查等等,输出的节点不少于18个,包含逻辑判断的分支,以下是详细内容。 研发标准化的完整流程如上所示,包含18个节点,分别是: 需求分析 需求评审

    2024年02月06日
    浏览(36)
  • 提升绘图效率不再难,看看这8款AI流程图软件,一键快速生成流程图!

    流程图是表示流程、系统和思想的重要视觉辅助工具。在当今数字时代,AI技术的出现已经彻底改变了制作流程图的方式。 在本文中,我们将与各位分享 8款好用的AI流程图软件 ,借助每款软件内置的AI能力,可以快速绘制出一份完整的流程图,以简化和增强你的绘图体验。

    2024年02月03日
    浏览(36)
  • 开源流程图表库(01):Mermaid.js生成流程图、时序图、甘特图等

    Mermaid.js是一个用于生成流程图、时序图、甘特图等各种图表的开源库。它使用简洁的文本语法来描述图表结构,并将其转换为可视化的图形。 Mermaid.js的主要特点包括: 简洁易用 :Mermaid.js使用简单的文本语法来描述图表结构,不需要编写复杂的代码。通过简单的几行文本,

    2024年04月13日
    浏览(27)
  • 算法练习-替换数字(思路+流程图+代码)

            难度:简单         分类:字符串         难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。         给定一个字符串S,它包含小写字母和数字字符,请编写一个函数,将字符串

    2024年02月20日
    浏览(37)
  • 算法练习-赎金信(思路+流程图+代码)

            难度:中等         分类:哈希表         难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。且所在课程未提供测试平台,故实现代码主要为自行测试的那种,以下内容均为个人笔记,旨在督促自己认真学习。         给你

    2024年02月22日
    浏览(37)
  • AIGC:通过 ChatGPT 和 Mermaid 实现语言描述生成流程图实践

    本文旨在介绍如何使用 ChatGPT 和 Mermaid 语言生成流程图的技术。在现代软件开发中,流程图是一种重要的工具,用于可视化和呈现各种流程和结构。结合 ChatGPT 的自然语言处理能力和 Mermaid 的简单语法,可以轻松地将文本描述转化为图形表示,使技术文档更具可读性和易懂性

    2024年02月15日
    浏览(44)
  • markdown绘制流程图相关代码片段记录

    有时候会使用typora来绘制一些流程图,进行编码之类的工作,在网络搜集了一些笔记,做个记录,方便日后进行复习,相关的记录如下: 每次作图时,代码以「graph 布局方向」开头,如: TB(Top Bottom)表示从上向下布局,另外三种是 BT LR(Left Right) RL 不同种类的括号对应不

    2024年02月19日
    浏览(36)
  • 力扣---LeetCode160. 相交链表(代码详解+流程图)

    “风格相同的人总会相遇 千万个人中万幸得以相逢.” 本章的内容是力扣每日随机一题的部分方法的解析 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 160. 相交链表 link 根据题目这是两个问题

    2024年02月02日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包