是否有任何应用程序可以从python3源生成类似下面的链接(我不关心表示而不是完美的内容)
http://www.codeproject.com/KB/IP/Searcharoo_3/ClassDiagram.png
答案 0 :(得分:10)
是的,有pylint
来pyreverse
将生成类图(不像引用中那样漂亮但我很害怕,但很明确且有用。)与{{{{{ 1}}。
分析整个或部分软件包
graphviz
分析一个特定文件:
$ pyreverse -o png -p <project name>
答案 1 :(得分:4)
我发现接受的答案违反了最小惊讶原则:)
给出一个包含python文件以及子目录中的源代码的当前目录,运行pyreverse -o png -p py_test .
意味着Pylint选择了__init__.py
,然后继续创建了r:\apps\python3\lib\encodings\
的UML图。 / p>
使用pyreverse -o png -p py_test ./main.py
会生成一个空白的PNG,因为该源文件中未定义任何类。
但是,pyreverse -o png -p py_subdir ./py_subdir
得到了一些有意义的结果。它为子目录中的所有代码生成了类图和包图。有点违反直觉。
答案 2 :(得分:0)
Pynsource 是一个免费社区版的开源项目: https://pynsource.com/