用于python的ast unparser

astunparse的Python项目详细描述


https://badge.fury.io/py/astunparse.pnghttps://travis-ci.org/simonpercivall/astunparse.png?branch=masterhttps://readthedocs.org/projects/astunparse/badge/

一个用于python的ast unparser。

这是python中找到的unparse的分解版本 源代码分发;在python 2的demo/parser和tools/parser下 在python 3中。

基本示例:

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)))

这个库是与Python2.6到Python3.5兼容的单一源代码。它 是由python核心开发人员编写的;我只是合并了python 2.7 以及python 3.5源代码和测试套件,并添加了一个包装器。这个保理 out是提供一个支持两个版本的库实现。

另外还有一个漂亮的打印dump实用函数。

测试套件既可以运行特定的测试,也可以往返于 标准库。

扩展和替代方案

类似的项目包括:

这些都不是标准库的往返路线,也没有几个基本的 在test_unparse测试套件中进行测试。

这个库使用成熟的核心维护代码,而不是试图修补 现有的图书馆。unparsetest_unparse模块 在PSF许可证下。

扩展名包括:

  • typed-astunparse: extends astunparse to support type annotations.

功能

  • 断开python ast的连接。
  • 漂亮的指纹。

变更日志

下面是对ast unparser的最新更改。

1.6.2-2019-01-19

  • 在Python3.8中添加对常量节点的支持
  • 向sdist添加测试

1.6.1-2018-10-03

  • 修复非常复杂的f字符串的往返问题。

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中。运行^{tt8}时也可以使用$ 作为--dump参数。

1.1.0-2014-04-01

  • unparse将返回ast的源代码。它很漂亮 功能齐全,往返stdlib,与 Python2.7和Python3.4。

    运行python -m astunparse将打印往返源 对于作为参数给定的任何python文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
缺少java MIMessage附件   java试图从JSON数组向数据库插入数据   铸造java。util。ArrayList无法转换为java。util。矢量   在到达末尾后从头开始读取csv文件(Java、OpenCSV)   Java swing如何在另一个线程中打开框架   java如何为集合正确编写此比较器。排序(arrayList、comparator)?   JavaOOD将配置传递给外部类的最佳方式   java不确定如何使用switch语句从main()调用要运行的方法   java循环菜单以在选择后显示   java将位置对象转换为地址(谷歌地图)   java Hazel cast客户端端口问题   使用JarJar重新打包工具的java   使用Java Netscape目录LDAP API和二进制筛选器值   java如何从Google App Engine下载应用程序源文件   java如何居中javafx场景图“摄影机”   java调用servlet而不提交并停留在同一个JSP页面中   将文本文件加载到HashMap<Integer,List<String>>java中   JavaFX平台。重新加载站点后运行更高版本()