如何使用Python3.xast模块解析Python2.x?

如何使用Python3.xast模块解析Python2.x?,python,parsing,python-2.7,python-3.x,abstract-syntax-tree,Python,Parsing,Python 2.7,Python 3.x,Abstract Syntax Tree,我最近编写了一个Sublime Text 3插件,它解析Python代码并从中发布一些统计信息 没什么太复杂的,只是我注意到Sublime Text 3使用了Python3.x,而且很明显,用户也希望看到Python3.x代码。我查看了的文档,但找不到任何允许我指定版本的内容 显然,在解析完全有效的Python 2.7代码时,这会导致问题 有没有办法指定或以某种方式检测/猜测Python版本?或者为了让解析器更加灵活?否,ast模块只能处理它附带的Python版本的Python代码。这是因为在幕

我最近编写了一个Sublime Text 3插件,它解析Python代码并从中发布一些统计信息

没什么太复杂的,只是我注意到Sublime Text 3使用了Python3.x,而且很明显,用户也希望看到Python3.x代码。我查看了的文档,但找不到任何允许我指定版本的内容

显然,在解析完全有效的Python 2.7代码时,这会导致问题


有没有办法指定或以某种方式检测/猜测Python版本?或者为了让解析器更加灵活?

否,
ast
模块只能处理它附带的Python版本的Python代码。这是因为在幕后,使用完全相同的解析器将Python代码编译成字节码;
ast
模块所做的就是为您提供中间ast树。此解析器没有“向后兼容”模式

如果要解析Python版本中的不同源代码,则需要实现自己的解析器。这显然是(Python自动完成库)采用的路径


查看,我看到该包以Python和Python3解析器为基础,它们具有Python绑定。也许那个项目是你自己的一个合适的起点。

你最终做了什么来解决你的问题?