读/重写/写 Python AST
项目描述
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
查看哈希)
内置分布
astor-0.8.1-py2.py3-none-any.whl
(27.5 kB
查看哈希)