跳转到主要内容

将Python抽象语法树转换为可读源代码

项目描述

pypi license

将Python抽象语法树(ASTs)转换为可读源代码。

Xylem在需要动态更改Python代码/ASTs,同时需要将这些更改写回源代码时非常有用。

它也非常小巧(<500行),纯Python,并生成(主要是)可读源代码。

在编写本文档时,我大量使用了位于Green Tree Snakes的非官方AST文档。

安装

Xylem将在Python 3.4或更高版本上运行。我最终会在Python 2.7-3.3上对其进行测试。

从PyPI

在命令行中运行 pip3 install xylem 安装Xylem。

从GitHub

克隆或下载git仓库,导航到目录,并运行

python3 setup.py sdist
cd dist
pip3 install xylem-<version>.tar.gz

用法

to_source 可能是你需要使用的唯一方法

>>> from xylem import to_source
>>> import ast
>>> tree = ast.parse("print('hello world')")
>>> ast.dump(tree)
"Module(body=[Expr(value=Call(func=Name(id='print', ctx=Load()), args=[Str(s='Hello world')], keywords=[]))])"
>>> to_source(tree)
"print('hello world')"

compare_ast 也可以用于确定两个AST是否功能上等效。

开发

Xylem的版本控制基于 MAJOR.MINOR.PATCH.[DEVELOP] 模型。只有稳定、非开发版本将被发布到PyPI。由于Xylem仍是一个测试版项目,MAJOR 增量将为0。次要增量代表新功能。补丁增量代表解决现有功能的问题。

项目详情


下载文件

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

源分发

xylem-0.10.0.tar.gz (7.2 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页