0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python一鍵轉(zhuǎn)化代碼為流程圖

汽車電子技術(shù) ? 來源:Python實(shí)用寶典 ? 作者:Ckend ? 2023-02-24 11:19 ? 次閱讀


poYBAGP4LB6AVfCDAADkZ9SIvNg533.png

Graphviz是一個(gè)可以對(duì)圖進(jìn)行自動(dòng)布局的繪圖工具,由貝爾實(shí)驗(yàn)室開源。我們?cè)谏洗?a href="http://ttokpm.com/tags/python/" target="_blank">Python 快速繪制畫出漂亮的系統(tǒng)架構(gòu)圖提到的diagrams,其內(nèi)部的編排邏輯就用到了這個(gè)開源工具包。

而今天我們要介紹的項(xiàng)目,就是基于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ì)指南。

請(qǐng)選擇以下任一種方式輸入命令安裝依賴
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 用戶請(qǐng)使用brew一鍵安裝:

brew installgraphviz

(可選2)windows 用戶請(qǐng)點(diǎn)擊鏈接下載安裝:
https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi

Windows 安裝完成 graphviz 后需要將其寫入到環(huán)境變量中:

poYBAGP4LFGAShAMAAJ-CQAr-ao070.png

2.生成流程圖

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


pYYBAGP4LF6AaJ8IAAECWBLjOMc809.png



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


poYBAGP4LG2AL8mVAADx5TR0Xpw484.png


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



poYBAGP4LHuAClMZAAF0N5564yI033.png


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


pYYBAGP4LIaAFUiJAAKIWeyorbY448.png

pYYBAGP4LJOAL2LbAAJ93hXBQdg403.png


然后通過Ctrl + shift + ` 打開一個(gè)新的終端,即可看到以bash啟動(dòng)的命令行。

輸入以下命令生成流程圖:


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

完成后會(huì)在當(dāng)前文件夾下生成一個(gè)pycallgraph.png的文件,這個(gè)就是這份代碼的流程圖。

pYYBAGP4LKKAKoUhAAETLvygZl8186.png

通過這個(gè)方法,你可以清晰地看到這份源代碼里面的調(diào)用邏輯和其每個(gè)模塊的運(yùn)行時(shí)間,是一個(gè)很方便的小工具,非常適合初學(xué)者學(xué)習(xí)他人的開源模塊。大家有需要研究的代碼可以用這個(gè)工具試一試,說不定有意外的收獲呢。


我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實(shí)戰(zhàn)教程,請(qǐng)持續(xù)關(guān)注Python實(shí)用寶典。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 流程圖
    +關(guān)注

    關(guān)注

    2

    文章

    63

    瀏覽量

    18696
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2943

    瀏覽量

    66617
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4767

    瀏覽量

    84375
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    H.264編碼器流程圖

    H.264編碼器流程圖說明:1.參考代碼版本jm61.流程圖中有些地方直接引用已經(jīng)修改過的代碼,未作說明.2.
    發(fā)表于 06-25 11:43

    Stm32怎么一鍵下載

    文章目錄前言一鍵下載一鍵下載原理硬件原理跳帽與啟動(dòng)存儲(chǔ)映射串口下載程序由來一鍵下載流程通過 USB 控制機(jī)器復(fù)位握手解讀前言最近在又要折騰
    發(fā)表于 08-05 08:13

    Sop流程圖操作規(guī)范

    流程圖符號(hào) 流程圖結(jié)構(gòu)說明 流程圖繪制原則
    發(fā)表于 08-27 17:57 ?42次下載

    燒結(jié)作業(yè)流程圖

    燒結(jié)作業(yè)流程圖
    發(fā)表于 03-30 19:43 ?2958次閱讀
    燒結(jié)作業(yè)<b class='flag-5'>流程圖</b>

    IC設(shè)計(jì)流程圖

    IC設(shè)計(jì)流程圖 ?
    發(fā)表于 02-06 16:22 ?5201次閱讀
    IC設(shè)計(jì)<b class='flag-5'>流程圖</b>

    推薦!三款適合Linux電腦的簡單好用流程圖軟件

    款基于矢量的繪圖工具,有豐富的事例庫和模板庫。對(duì)于各種業(yè)務(wù)流程圖、程序流程圖、數(shù)據(jù)流程圖的繪制都非常方便。億兼有多種文件格式,可以一鍵導(dǎo)出
    的頭像 發(fā)表于 06-12 11:53 ?2697次閱讀

    跨職能流程圖怎么畫?教你輕松繪制泳道流程圖

    。還可以將自己的跨職能流程圖導(dǎo)出圖片、PDF、Office等格式,方便分享。跨職能流程圖繪制軟件-億圖示億圖示是
    的頭像 發(fā)表于 07-28 11:23 ?1.6w次閱讀

    項(xiàng)目流程圖怎么畫?項(xiàng)目流程圖經(jīng)典免 費(fèi)模板分享

    使用。導(dǎo)入格式多:您可以一鍵將導(dǎo)入Visio,SVG文件,也可以批量轉(zhuǎn)化整個(gè)目錄的Visio文件到Edraw文件,輕松實(shí)現(xiàn)文件轉(zhuǎn)移。導(dǎo)出格式多:一鍵將您的圖表導(dǎo)出
    的頭像 發(fā)表于 07-28 11:58 ?3251次閱讀

    NS流程圖是什么?用這款軟件輕松畫NS流程圖

    NS流程圖,又被稱為N-S,或者是盒。它的結(jié)構(gòu)分為圖形、流程線和文字,NS流程圖種可視化
    的頭像 發(fā)表于 07-28 11:59 ?1.4w次閱讀
    NS<b class='flag-5'>流程圖</b>是什么<b class='flag-5'>圖</b>?用這款軟件輕松畫NS<b class='flag-5'>流程圖</b>

    工作流程圖怎么用?有哪些繪制工作流程圖的軟件

    工作流程圖是清晰地展示工作中各個(gè)環(huán)節(jié)的流程圖圖示,主要用于工作活動(dòng)和效率的管理。工作流程圖這種圖示方法具有直觀描述性、簡潔性、可操作性和指導(dǎo)性。工作流程圖
    的頭像 發(fā)表于 07-28 14:22 ?3490次閱讀

    7款流程圖制作軟件大盤點(diǎn)!輕松繪制流程圖

    流程圖可能是我們使用最廣泛的種圖形圖表,幾乎在各個(gè)領(lǐng)域都會(huì)用到,諸如系統(tǒng)流程圖、產(chǎn)品流程圖、數(shù)據(jù)流程圖借助
    的頭像 發(fā)表于 11-27 19:00 ?4.1w次閱讀

    Stm32 一鍵下載電路詳解

    文章目錄前言一鍵下載一鍵下載原理硬件原理跳帽與啟動(dòng)存儲(chǔ)映射串口下載程序由來一鍵下載流程通過 USB 控制機(jī)器復(fù)位握手解讀前言最近在又要折騰
    發(fā)表于 11-24 18:06 ?9次下載
    Stm32 <b class='flag-5'>一鍵</b>下載電路詳解

    fpc流程圖.zip

    fpc流程圖
    發(fā)表于 03-01 15:37 ?2次下載

    Python 如何一鍵轉(zhuǎn)化代碼流程圖

    天我們要介紹的項(xiàng)目,就是基于Python和Graphviz開發(fā)的,能將源代碼轉(zhuǎn)化流程圖的工具:pycallgraph。 1.準(zhǔn)備 開始之前,你要確保
    的頭像 發(fā)表于 11-01 10:39 ?2101次閱讀
    <b class='flag-5'>Python</b> 如何<b class='flag-5'>一鍵</b><b class='flag-5'>轉(zhuǎn)化</b><b class='flag-5'>代碼</b><b class='flag-5'>為</b><b class='flag-5'>流程圖</b>

    開關(guān)柜一鍵順控的技術(shù)難點(diǎn)和優(yōu)勢、發(fā)展趨勢?

    開關(guān)柜一鍵順控技術(shù)的核心在于將復(fù)雜的人工操作流程轉(zhuǎn)化為自動(dòng)化、智能化的控制流程,蜀瑞開關(guān)柜一鍵順控系統(tǒng)多年技術(shù)經(jīng)驗(yàn)
    的頭像 發(fā)表于 07-23 11:41 ?363次閱讀