2011-11-27 59 views
3

我正在寻找一个允许解析和修改Python 3源代码的库。有内置的ast模块,但不允许从Python 2解析Python 3代码,反之亦然。用于解析Python 2和3的库

有没有这样一个库,或者让ast模块识别Python 3上的Python 2代码的方法?

+0

2to3如何工作?这必须有一些处理Python 2和3代码的方法。 –

+0

你需要什么? –

+0

@LennartRegebro我想预处理源代码(类似于缩小,例如解析本地导入并为Python 2.5甚至更早的平台应用兼容性代码),并可能实现[2to6](http://www.mail-archive.com) /[email protected]/msg289271.html)。 – phihag

回答

3

Python的lib2to3库包含一个代码解析器,可以解析Python 2和Python 3代码。虽然它没有很好的记录。 This chapter from the porting book提供了一个介绍。如果你想修改代码(重构,也许),那么2to3可能就是你正在寻找的。

+0

看起来不错。我会看看那个。 – phihag