Skip to main content

读/重写/写 Python AST

项目描述

派皮

https://pypi.org/project/astor/

文档

https://astor.readthedocs.io

来源

https://github.com/berkerpeksag/astor

执照

3 子句 BSD

构建状态
特拉维斯 CI

astor 旨在允许通过 AST 轻松操作 Python 源代码。

还有一些其他类似的库,但 astor 专注于以下领域:

  • 将 AST 往返返回 Python [ 1 ]

    • 修改后的 AST 不需要行号、ctx 等,或者可以直接编译以使往返工作正常。

    • 易于阅读生成的代码,以及代码

    • 可以使用 astor.rtrip 工具往返两个不同的源代码树以比较功能差异(例如,在 PEP8 编辑之后)。

  • 转储 AST 的漂亮打印

    • 比往返代码更难阅读,但更准确地弄清楚发生了什么。

    • 比从内置 AST 模块转储更容易阅读

  • 非递归treewalk

    • 有时你想要一个递归的treewalk(并且 astor 支持它,从树上的任何节点开始),但有时你不需要这样做。astor 不要求您显式访问子节点,除非您想:

    • 您可以添加在访问节点的子节点之前执行的代码,和/或

    • 您可以添加在访问节点的子节点后执行的代码,和/或

    • 您可以添加执行并阻止节点的子节点被访问的代码(并且可以选择通过递归调用自己访问它们)

    • 编写函数以根据对象名称和/或属性名称访问树

    • 轻松访问父节点以进行树重写

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

astor-0.8.1.tar.gz (35.1 kB 查看哈希)

已上传 source

内置分布

astor-0.8.1-py2.py3-none-any.whl (27.5 kB 查看哈希

已上传 py2 py3