【问题标题】:Library to parse Python 2 and 3解析 Python 2 和 3 的库
【发布时间】:2011-11-27 14:44:37
【问题描述】:

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

是否有这样的库,或者让ast 模块在 Python 3 上识别 Python 2 代码的方法?

【问题讨论】:

  • 2to3 是如何工作的?那肯定有某种处理 Python 2 和 3 代码的方法。
  • 你需要它做什么?
  • @LennartRegebro 我想预处理源代码(类似于缩小,例如解析本地导入并为 Python 2.5 甚至更早的平台应用兼容性代码),并可能实现 2to6
  • 嗯,实现 2to6 正是 lib2to3 的用途。
  • 我还可以注意到,我确实想要一套 2to6 的固定器,所以请制作它。 :-) 把它放在 github 上,我什至可以提供帮助。

标签: python parsing python-3.x python-2to3


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-06-06
    • 2016-02-10
    • 2013-07-06
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    相关资源
    最近更新 更多