
Graphviz是一個可以對圖進(jìn)行自動布局的繪圖工具,由貝爾實(shí)驗(yàn)室開源。我們在上次Python 快速繪制畫出漂亮的系統(tǒng)架構(gòu)圖提到的diagrams,其內(nèi)部的編排邏輯就用到了這個開源工具包。
而今天我們要介紹的項目,就是基于Python和Graphviz開發(fā)的,能將源代碼轉(zhuǎn)化為流程圖的工具:pycallgraph。
1.準(zhǔn)備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南進(jìn)行安裝。
如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.
此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南。
請選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip installpycallgraph
看到 Successfully installed xxx 則說明安裝成功。
(可選1)macOS 用戶請使用brew一鍵安裝:
brew installgraphviz
(可選2)windows 用戶請點(diǎn)擊鏈接下載安裝:
https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi
Windows 安裝完成 graphviz 后需要將其寫入到環(huán)境變量中:

2.生成流程圖
該模塊有兩種調(diào)用方式,一種是在代碼里通過上下文調(diào)用:

比如說,繪制一下咱上回的《Python 我的世界》源代碼的流程圖:

在運(yùn)行該P(yáng)ython文件后,會在當(dāng)前文件夾下產(chǎn)生一個pycallgraph.png的文件,這個就是該代碼的流程圖:

還有一種是使用命令的方式調(diào)用,這個方式必須使用bash才能運(yùn)行,macOS用戶可以忽視這個問題。如果你是windows用戶,請通過以下方式打開bash(以VS Code為例):


然后通過Ctrl + shift + ` 打開一個新的終端,即可看到以bash啟動的命令行。
輸入以下命令生成流程圖:
pycallgraph graphviz -- ./你需要生成流程圖的.py文件
完成后會在當(dāng)前文件夾下生成一個pycallgraph.png的文件,這個就是這份代碼的流程圖。

通過這個方法,你可以清晰地看到這份源代碼里面的調(diào)用邏輯和其每個模塊的運(yùn)行時間,是一個很方便的小工具,非常適合初學(xué)者學(xué)習(xí)他人的開源模塊。大家有需要研究的代碼可以用這個工具試一試,說不定有意外的收獲呢。
我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實(shí)戰(zhàn)教程,請持續(xù)關(guān)注Python實(shí)用寶典。
-
流程圖
+關(guān)注
關(guān)注
2文章
63瀏覽量
18980 -
源代碼
+關(guān)注
關(guān)注
96文章
2950瀏覽量
67920 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86226
發(fā)布評論請先 登錄
Stm32怎么一鍵下載
跨職能流程圖怎么畫?教你輕松繪制泳道圖流程圖
項目流程圖怎么畫?項目流程圖經(jīng)典免 費(fèi)模板分享
工作流程圖怎么用?有哪些繪制工作流程圖的軟件
7款流程圖制作軟件大盤點(diǎn)!輕松繪制流程圖
Python 如何一鍵轉(zhuǎn)化代碼為流程圖

評論