写了一个 python3 版本的 snakefood

2019-04-13 04:32:22 +08:00
 Trim21

https://github.com/Trim21/snakefood3

一时兴起想看看项目里的依赖关系, 然后找到了 snakefood, 发现 python3 下面没法跑.

然后就写了一个 python3 版本的, 但没实现原来的所有功能.

原理挺简单的, 直接遍历 ast 的所有节点, 然后分析所有的ImportImportFrom节点, 看看被导入的是文件还是模块就好了.

会把生成的 dot 文件内容输出到 stdout, 后续还需要用 graphviz 编译成图片才行.

效果图(1.3M) https://github.com/Trim21/snakefood3/raw/master/example/bgmi.png

2476 次点击
所在节点    分享创造
3 条回复
shell314
2019-04-13 09:15:16 +08:00
这个不错
curiouscat
2019-04-13 09:34:56 +08:00
这让我想起来以前写的分析 C++代码的工具,也是通过 ast 生成 dot,然后 graphviz 画图
guyskk0x0
2019-04-13 11:03:35 +08:00
线条好多好混乱

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/554683

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX