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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.