2011-11-27 60 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