Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python静态代码分析工具-代码分析(初步研究问题)_Python_Abstract Syntax Tree_Pylint - Fatal编程技术网

python静态代码分析工具-代码分析(初步研究问题)

python静态代码分析工具-代码分析(初步研究问题),python,abstract-syntax-tree,pylint,Python,Abstract Syntax Tree,Pylint,免责声明: 我刚刚开始研究这个知识领域;所以我不知道它到底叫什么;但通过谷歌搜索,我相信这与(静态代码分析,或者至少与之相关)有关 我的问题是: 给出一个python代码-文件-脚本-模块-包。是否有一种工具可用于生成报告,详细说明: 使用了多少类、函数、内置函数;装饰师;if/for/while语句等 给你一个我们大多数人都能想到的类比: 给定一个文本文件:查找所有动词/名词/形容词/副词/专有名词。 像spaCy或NLTK这样的NLP工具能够为自然语言做到这一点 但是编程语言呢?有没有这样的

免责声明: 我刚刚开始研究这个知识领域;所以我不知道它到底叫什么;但通过谷歌搜索,我相信这与(静态代码分析,或者至少与之相关)有关

我的问题是: 给出一个python代码-文件-脚本-模块-包。是否有一种工具可用于生成报告,详细说明: 使用了多少类、函数、内置函数;装饰师;if/for/while语句等

给你一个我们大多数人都能想到的类比: 给定一个文本文件:查找所有动词/名词/形容词/副词/专有名词。 像spaCy或NLTK这样的NLP工具能够为自然语言做到这一点

但是编程语言呢?有没有这样的工具? 像派林这样的工具能做到这一点吗

更新

正如我所预料的那样,这些工具是存在的;@BoarGules在他的评论中建议的其中一个是ast模块。。。这是我需要进一步研究的暗示;欢迎提出进一步建议。BTW ast代表抽象语法树

给出一个python代码-文件-脚本-模块-包。有没有一个工具可以根据它生成一个详细的报告:使用了多少类

因为Python有一个原语,所以不可能有一个精确的工具来实现这一点。 执行该原语时,Python程序的类或函数集可能会增加

意识到

考虑在Python静态分析器中使用和技术

还可以考虑(痛苦地)使用Python解释器的源代码(用C编写的代码)。通过大量工作,Frama-C可以扩展到分析Python源代码

(但需要有人来做这项工作,或者为此付费)


阅读最近的会议记录。

也许你应该看看
ast
模块。@BoarGules我刚从你那里听说过,我会考虑你的回答。正如评论所说,python通过ast Pydoc公开了它自己的语言语法树?不确定这是你要找的。。。你的代码必须有文档记录Pylint使用Astroid库,也许你应该看看它的功能