将Python抽象语法树转换为可读源代码
项目描述
将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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3bfd065b785c10704e9f2a07d168e66fe381b1cdc245fc5a067967b02565efce |
|
MD5 | 8b723a3ee2270231913283faf435fd4f |
|
BLAKE2b-256 | ed5c4997d1c599a235b75cb0d60a487a0097b1a8dcd9f5878906c2be2fd87fc9 |