https://github.com/Trim21/snakefood3
一时兴起想看看项目里的依赖关系, 然后找到了 snakefood, 发现 python3 下面没法跑.
然后就写了一个 python3 版本的, 但没实现原来的所有功能.
原理挺简单的, 直接遍历 ast 的所有节点, 然后分析所有的Import
和ImportFrom
节点, 看看被导入的是文件还是模块就好了.
会把生成的 dot 文件内容输出到 stdout, 后续还需要用 graphviz 编译成图片才行.
效果图(1.3M) https://github.com/Trim21/snakefood3/raw/master/example/bgmi.png
1
shell314 2019-04-13 09:15:16 +08:00 via Android
这个不错
|
2
curiouscat 2019-04-13 09:34:56 +08:00
这让我想起来以前写的分析 C++代码的工具,也是通过 ast 生成 dot,然后 graphviz 画图
|
3
guyskk0x0 2019-04-13 11:03:35 +08:00 via Android
线条好多好混乱
|