<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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

    文章

    61

    瀏覽量

    18629
  • 源代碼
    +關注

    關注

    95

    文章

    2932

    瀏覽量

    66177
  • python
    +關注

    關注

    52

    文章

    4698

    瀏覽量

    83610
收藏 人收藏

    評論

    相關推薦

    H.264編碼器流程圖

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

    方便快捷:PADS的一鍵快捷功能:一鍵灌銅,一鍵檢查DRC

    傾情奉獻給大家,非常實用的快捷功能一鍵灌銅: [hide] [/hide]一鍵檢查連通性:[hide][/hide]一鍵檢查安全間距::[hide] [/hide]一鍵清除Error標
    發表于 11-07 15:06

    Labview流程圖

    Labview能夠生成流程圖嗎,Labview的程序能畫流程圖嗎?
    發表于 07-21 10:09

    求講解流程圖

    求講解如圖的流程圖
    發表于 03-10 20:08

    labview畫流程圖

    labview通過ActiveX控件插入microsoft visio,怎么來實現畫流程圖???
    發表于 04-26 20:42

    基于labview溫度濕度測試流程圖

    急急急,請問有沒有哪位大神做過基于labview溫度濕度測試流程圖,(注意不是看程序,是看流程圖),小弟第次寫labview流程圖不是太懂寫法和格式以及注意的地方,有沒有大神可以分享
    發表于 10-16 18:33

    visio畫程序流程圖

    弄清圖形符號: 運行Visio,新建個基本流程圖。在形狀窗口中用基本流程圖的圖形符號來表示程序算法。表1給出了較常用的“流程圖”所用的基本符號。 舉例使用:
    發表于 07-03 00:19

    怎樣繪制流程圖

    操作。6.繪制成功的流程圖可以選擇儲存在面板中進行使用,也可以選擇導出使用,兩種保存方式都是時下比較流行的方法。上述就是分享的怎樣繪制流程圖的湊走方法,從第步的尋找迅捷畫圖,到框架搭建,內容填充以至于最后的導出
    發表于 01-15 11:38

    Stm32怎么一鍵下載

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

    AT89C51單片機的電風扇控制系統設計流程圖

    AT89C51單片機的電風扇控制系統設計流程圖仿真AT89C51單片機的電風扇控制系統設計+流程圖+仿真摘 要:本文設計了以AT89C51
    發表于 09-08 06:52

    小車按照流程圖運行

    ,小車向右轉1秒。2?.???小車右轉約2.6秒可以轉90度角。小車按下面的流程圖運行,會走出個什么樣的圖形呢??A?.?會直循環走正方形。B?.?沒用電機命令,小車不會運行C?.?走
    發表于 09-13 08:36

    stm32怎么一鍵下載來著

    一鍵下載的原理是什么?一鍵下載的操作流程是怎樣的?stm32怎么一鍵下載來著?
    發表于 10-25 07:28

    TL2543 AD采樣程序流程圖制作

    多多指教。程序流程圖:TL2543 AD采樣程序流程圖制作出來的實物如下:單片機參考源代碼如下:/*接好線后記得共地,根據程序來決定采集通道是IN幾。開始時的數據是變化的當采集
    發表于 01-07 07:58

    stm32中的ISP一鍵下載的原理是什么

    三種工作模式boot 0boot 1啟動方式0X內部FLASH10系統存儲器11內部SRAM ISP一鍵下載電路上面的1是正點原子精英版的ISP一鍵下載原理,
    發表于 01-27 07:04

    Python 如何一鍵轉化代碼流程圖

    天我們要介紹的項目,就是基于Python和Graphviz開發的,能將源代碼轉化流程圖的工具:pycallgraph。 1.準備 開始之前,你要確保
    的頭像 發表于 11-01 10:39 ?1650次閱讀
    <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>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>