社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 一键转化代码为流程图

Python绿色通道 • 3 年前 • 286 次点击  

↑ 关注 + 星标 ,每天学Python新技能

后台回复【大礼包】送你Python自学大礼包



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 install pycallgraph


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

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

brew 


    
install graphviz


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

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


2.生成流程图



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




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



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




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



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

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


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


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


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


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

----------  END  ----------

Python自学超级硬核资料


Ps:这里都是视频学习资料,基础不好或者零基础的同学比较适合

最后送大家一份Python学习大礼包,从Python基础,爬虫,数据分析Web开发等全套资料,吃透资料,你可以扔掉其他资料,这些资料都是视频,学起来非常友好。



扫码加微信后备注「Python新手」方便我给你发送资料,另外 「Python绿色通道」专属学习群已正式成立,想进群也可扫上方二维码。


推荐阅读


  1. 简直暴利?四川某加密币矿场实拍曝光,一天营收 6300 多万

  2. 使用 Python 修改微信/QQ/支付宝运动步数

  3. 给跪了!见过最全的Python+数据分析干货合集!

  4. 外包公司干了不到3个月,我离职了...(防坑指南&文末送书)

看完记得关注@Python绿色通道
及时收看更多好文
↓↓↓


点个在看你最好看



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/111034
 
286 次点击