今天看一個(gè)Python工程的代碼,為了幫助理解,我決定找一下能夠解析Python類之間繼承關(guān)系的工具。Pycharm的Professional版本里面據(jù)說(shuō)是有的,但是Professional版本是付費(fèi)的。然后看了一下,VSCode的插件 PlantUML也是支持這個(gè)功能的,而且好像效果還挺不錯(cuò),不過(guò)它需要搭建一個(gè)自己的PlantUML的服務(wù)器,比較懶先不用。如果以后想要更好的效果的時(shí)候可以研究一下。另一個(gè)就是這里要說(shuō)的Pyreverse,Pyreverse是Pylint包中的內(nèi)容,所以基本上不用安裝,如果沒(méi)有安裝的話 pip install pylint就可以了。
這個(gè)命令依賴于graphviz,一個(gè)以dot語(yǔ)言為基礎(chǔ)的圖形生成工具。我在windows下是用choco安裝的,也可以訪問(wèn)它們的官網(wǎng)應(yīng)該有安裝包?;蛘呖梢試L試是否可以pip install graphviz。
有了 graphviz 就可以使用 pyreverse直接生成類圖了。
命令 pyreverse -ASmy -o png --ignore google python
這里的 --ignore google 是為了避免生成google這個(gè)第三方包里面的類。-o是指定輸出的圖形格式。具體的可以直接 pyreverse ,就有使用幫助的。運(yùn)行之后,會(huì)在命令執(zhí)行目錄生成 classes 和 packages 兩個(gè)文件。 最后的python是要分析的python工程的根目錄。
生成效果如下(這里分析的是Python27\Lib\xml\sax 目錄):

更多視頻教程請(qǐng)?jiān)?a target="_blank">網(wǎng)易云課堂,優(yōu)酷或騰訊視頻搜索黑山老雕。