我们有一个老的C++工具,它自动生成一些Python代码。我试图通过C++源工具,今天,几乎想拍摄我自己。我想做的是清理工具创建的源代码,并通过添加sphinx标记将类链接到我们的内部文档系统。
现在我想知道的是,在python中是否有一种非常好的工具来解析python代码?
有很多这样的事情:
foo._methods_.append()
Snip 500 lines
foo._methods_.append()
有什么建议吗?
基本上,我有一个功能性的但非常混乱的代码结构,我基本上想提取某些块,将它们移动到自己的文件中。清理所有被创造出来的杂七杂八的东西。
我快速查看了parser和AST,但找不到任何实际使用的示例。
尝试使用Python文档生成实用程序之一,看看这是否有助于解决总体问题。我用epydoc很成功。
或者如果你能让你的老板拿出200美元,从SparxSystems购买一份企业架构师。它将反向工程您的Python代码,生成类图,并允许您单击类图并查看底层代码。适用于除Python之外的多种语言,以及优秀的设计和文档实用程序。(有一个99美元的版本,但不包括代码导入功能。)
根据您的需要,您可能还想查看2to3库。它的编写是为了自动促进Python 2.x应用程序到Python 3.0的转换,因此它的主要用例是获取一个Python源文件,对其执行一些转换,然后输出结果源文件。
lib2to3相对于ast模块的一个优点是ast不保留空白和注释,而lib2to3则保留空白和注释。如果您已经在处理自动生成的代码,这对您来说可能不是问题。
您可以使用tokenize模块将python代码标记化以解析单个标记。e、 克Script to remove Python comments/docstrings
或者可以使用parser模块
或者使用ast模块
相关问题 更多 >
编程相关推荐