Python的AST反解析器
项目描述
Python的AST反解析器。
这是从Python源代码分发中提取出来的unparse版本;在Python 2中的Demo/parser下,在Python 3中的Tools/parser下。
基本示例
import inspect import ast import astunparse # get back the source code astunparse.unparse(ast.parse(inspect.getsource(ast))) # get a pretty-printed dump of the AST astunparse.dump(ast.parse(inspect.getsource(ast)))
此库与Python 2.6至Python 3.5的单源兼容。它由Python核心开发者编写;我仅仅合并了Python 2.7和Python 3.5的源代码和测试套件,并添加了一个包装器。这种提取是为了提供一个支持两个版本的库实现。
此外,还增加了一个格式化打印的dump实用函数。
测试套件既运行特定测试,也回绕大量标准库。
扩展和替代品
类似的项目包括
这些项目中的任何一个都无法回绕大量标准库,并且在test_unparse测试套件中的基本测试中失败。
此库使用成熟和核心维护的代码,而不是尝试修补现有库。unparse和test_unparse模块在PSF许可证下。
扩展包括
typed-astunparse:扩展astunparse以支持类型注解。
文档:[http://astunparse.rtfd.org](http://astunparse.rtfd.org)。
功能
解析Python AST。
美化打印AST。
变更日志
以下是AST Unparser最近的变化。
1.6.3 - 2019-12-22
添加对Python 3.8的全支持
1.6.2 - 2019-01-19
添加对Python 3.8中Constant节点的支持
向sdist添加测试
1.6.1 - 2018-10-03
修复非常复杂的f-string的往返问题。
1.6.0 - 2018-09-30
Python 3.7兼容性
1.5.0 - 2017-02-05
Python 3.6兼容性
错误修复:修正argparser选项类型
1.4.0 - 2016-06-24
支持async关键字
支持“交互式”和“表达式”节点的反解析
1.3.0 - 2016-01-17
Python 3.5兼容性
1.2.0 - 2014-04-03
Python 2.6至3.4兼容性
添加了一个名为dump的新函数,用于返回AST的美化打印版本。当运行python -m astunparse作为--dump参数时,它也是可用的。
1.1.0 - 2014-04-01
unparse将返回AST的源代码。它功能齐全,往返stdlib,且与Python 2.7和Python 3.4兼容。
运行python -m astunparse将打印给定任何Python文件的往返源代码。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
astunparse-1.6.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872 |
|
MD5 | 2cea4d8e49beba7684bac890e73d6a40 |
|
BLAKE2b-256 | f3af4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029 |
astunparse-1.6.3-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8 |
|
MD5 | d24e46166555fe1917398f6d7c016dad |
|
BLAKE2b-256 | 2b0313dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028 |