跳转到主要内容

用于搜索和从GitHub获取代码的工具

项目描述

# bigcode-astgen-py

生成与[150k Python Dataset][1]兼容格式的Python文件AST。

代码主要复制自[150k Python Dataset][1],并适配以支持Python 3。

请注意,此工具只能解析其运行的Python版本,因为它内部使用Python ast模块,该模块使用当前Python解析器。

## 安装

可以通过运行以下命令安装此工具:

` pip install bigcode-astgen `

或通过获取此存储库并运行:

` cd ast-generators/python pip install . `

## CLI使用

` bigcode-astgen-py -o <output> <input> `

<input>应该是文件,或文件的glob表达式。

### 正常模式

在正常模式下,<input>被解释为文件名,如果提供了<output>,则结果AST输出到<output>,否则打印到标准输出。

### 批量模式

在批量模式下,<input>被解释为glob,并将解析所有匹配的文件。<output>是一个前缀,将创建以下文件:<output>.json<output>.txt<output>_failed.txt

  • <output>.json - 每行包含一个JSON格式的AST

  • <output>.txt - 每行包含一个文件名,顺序与<output>.json相同

  • <output>_failed.txt - 每行包含一个文件名,以及无法解析的原因

### 示例

#### 正常模式

` bigcode-astgen-py bigcode_astgen/normalizer.py `

解析bigcode_astgen/normalizer.py并将结果输出到标准输出。

#### 批量模式

` bigcode-astgen-py --batch -o result/asts "src/**/*.py" `

解析 src 目录中的所有 .py 文件,并将结果输出到 result 目录,结果文件前缀为 asts

## Python API

### bigcode_astgen.ast_generator.parse_string

返回给定字符串的 AST 节点

参数

  • content:包含 Python 程序的字符串

### bigcode_astgen.ast_generator.parse_file

返回给定文件的 AST 节点

参数

  • filename:包含 Python 程序的文件路径

### bigcode_astgen.ast_bulk_processor.process_files

处理与 files_pattern 匹配的所有文件,并将结果输出到 output_dir

参数

  • files_pattern:包含 Python 文件的 glob 模式

  • output:输出结果的文件名(不含扩展名)

## 许可证

我无法找到 [150k Python Dataset][1] 源代码的许可证,而 bigcode_astgen/ast_generator.py 是从该源代码复制的。因此,在进一步通知之前,该项目不遵循 MIT 许可证,与其他仓库相同。

[1]: http://www.srl.inf.ethz.ch/py150.php

项目详情


下载文件

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

源代码分布

bigcode-astgen-0.2.1.tar.gz (8.1 kB 查看哈希值)

上传时间 源代码

构建分布

bigcode_astgen-0.2.1-py3-none-any.whl (11.9 kB 查看哈希值)

上传时间 Python 3

由以下支持

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