0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python一键转化代码为流程图

汽车电子技术 来源:Python实用宝典 作者:Ckend 2023-02-24 11:19 次阅读


poYBAGP4LB6AVfCDAADkZ9SIvNg533.png

Graphviz是一个可以对图进行自动布局的绘图工具,由贝尔实验室开源。我们在上次Python 快速绘制画出漂亮的系统架构图提到的diagrams,其内部的编排逻辑就用到了这个开源工具包。

而今天我们要介绍的项目,就是基于Python和Graphviz开发的,能将源代码转化为流程图的工具:pycallgraph。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南进行安装。

如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip installpycallgraph

看到 Successfully installed xxx 则说明安装成功。

(可选1)macOS 用户请使用brew一键安装:

brew installgraphviz

(可选2)windows 用户请点击链接下载安装:
https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi

Windows 安装完成 graphviz 后需要将其写入到环境变量中:

poYBAGP4LFGAShAMAAJ-CQAr-ao070.png

2.生成流程图

该模块有两种调用方式,一种是在代码里通过上下文调用:


pYYBAGP4LF6AaJ8IAAECWBLjOMc809.png



比如说,绘制一下咱上回的《Python 我的世界》源代码的流程图:


poYBAGP4LG2AL8mVAADx5TR0Xpw484.png


在运行该Python文件后,会在当前文件夹下产生一个pycallgraph.png的文件,这个就是该代码的流程图:



poYBAGP4LHuAClMZAAF0N5564yI033.png


还有一种是使用命令的方式调用,这个方式必须使用bash才能运行,macOS用户可以忽视这个问题。如果你是windows用户,请通过以下方式打开bash(以VS Code为例):


pYYBAGP4LIaAFUiJAAKIWeyorbY448.png

pYYBAGP4LJOAL2LbAAJ93hXBQdg403.png


然后通过Ctrl + shift + ` 打开一个新的终端,即可看到以bash启动的命令行。

输入以下命令生成流程图:


pycallgraph graphviz -- ./你需要生成流程图的.py文件

完成后会在当前文件夹下生成一个pycallgraph.png的文件,这个就是这份代码的流程图。

pYYBAGP4LKKAKoUhAAETLvygZl8186.png

通过这个方法,你可以清晰地看到这份源代码里面的调用逻辑和其每个模块的运行时间,是一个很方便的小工具,非常适合初学者学习他人的开源模块。大家有需要研究的代码可以用这个工具试一试,说不定有意外的收获呢。


我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 流程图
    +关注

    关注

    2

    文章

    63

    浏览量

    18712
  • 源代码
    +关注

    关注

    96

    文章

    2944

    浏览量

    66655
  • python
    +关注

    关注

    55

    文章

    4778

    浏览量

    84439
收藏 人收藏

    评论

    相关推荐

    H.264编码器流程图

    H.264编码器流程图说明:1.参考代码版本jm61.流程图中有些地方直接引用已经修改过的代码,未作说明.2.
    发表于 06-25 11:43

    Stm32怎么一键下载

    文章目录前言一键下载一键下载原理硬件原理跳帽与启动存储映射串口下载程序由来一键下载流程通过 USB 控制机器复位握手解读前言最近在又要折腾
    发表于 08-05 08:13

    Sop流程图操作规范

    流程图符号 流程图结构说明 流程图绘制原则
    发表于 08-27 17:57 42次下载

    烧结作业流程图

    烧结作业流程图
    发表于 03-30 19:43 2967次阅读
    烧结作业<b class='flag-5'>流程图</b>

    IC设计流程图

    IC设计流程图  
    发表于 02-06 16:22 5210次阅读
    IC设计<b class='flag-5'>流程图</b>

    推荐!三款适合Linux电脑的简单好用流程图软件

    款基于矢量的绘图工具,有丰富的事例库和模板库。对于各种业务流程图、程序流程图、数据流程图的绘制都非常方便。亿兼有多种文件格式,可以一键导出
    的头像 发表于 06-12 11:53 2709次阅读

    跨职能流程图怎么画?教你轻松绘制泳道流程图

    。还可以将自己的跨职能流程图导出图片、PDF、Office等格式,方便分享。跨职能流程图绘制软件-亿图示亿图示是
    的头像 发表于 07-28 11:23 1.6w次阅读

    项目流程图怎么画?项目流程图经典免 费模板分享

    使用。导入格式多:您可以一键将导入Visio,SVG文件,也可以批量转化整个目录的Visio文件到Edraw文件,轻松实现文件转移。导出格式多:一键将您的图表导出
    的头像 发表于 07-28 11:58 3255次阅读

    NS流程图是什么?用这款软件轻松画NS流程图

    NS流程图,又被称为N-S,或者是盒。它的结构分为图形、流程线和文字,NS流程图种可视化
    的头像 发表于 07-28 11:59 1.4w次阅读
    NS<b class='flag-5'>流程图</b>是什么<b class='flag-5'>图</b>?用这款软件轻松画NS<b class='flag-5'>流程图</b>

    工作流程图怎么用?有哪些绘制工作流程图的软件

    工作流程图是清晰地展示工作中各个环节的流程图图示,主要用于工作活动和效率的管理。工作流程图这种图示方法具有直观描述性、简洁性、可操作性和指导性。工作流程图
    的头像 发表于 07-28 14:22 3504次阅读

    7款流程图制作软件大盘点!轻松绘制流程图

    流程图可能是我们使用最广泛的种图形图表,几乎在各个领域都会用到,诸如系统流程图、产品流程图、数据流程图借助
    的头像 发表于 11-27 19:00 4.1w次阅读

    Stm32 一键下载电路详解

    文章目录前言一键下载一键下载原理硬件原理跳帽与启动存储映射串口下载程序由来一键下载流程通过 USB 控制机器复位握手解读前言最近在又要折腾
    发表于 11-24 18:06 9次下载
    Stm32 <b class='flag-5'>一键</b>下载电路详解

    fpc流程图.zip

    fpc流程图
    发表于 03-01 15:37 2次下载

    Python 如何一键转化代码流程图

    天我们要介绍的项目,就是基于Python和Graphviz开发的,能将源代码转化流程图的工具:pycallgraph。 1.准备 开始之前,你要确保
    的头像 发表于 11-01 10:39 2125次阅读
    <b class='flag-5'>Python</b> 如何<b class='flag-5'>一键</b><b class='flag-5'>转化</b><b class='flag-5'>代码</b><b class='flag-5'>为</b><b class='flag-5'>流程图</b>

    开关柜一键顺控的技术难点和优势、发展趋势?

    开关柜一键顺控技术的核心在于将复杂的人工操作流程转化为自动化、智能化的控制流程,蜀瑞开关柜一键顺控系统多年技术经验
    的头像 发表于 07-23 11:41 393次阅读