以编程方式编辑 Python 源代码通常涉及读取代码并将其解析为抽象语法树 (AST)。然而,修改 AST 并写回修改后的代码以生成新的源文件对于像 ast 和编译器这样的标准 Python 模块来说可能具有挑战性。
lib2to3 库提供了解决此问题的一个方法,如Pythscope 测试用例生成器和 Python 2to3 工具。 lib2to3 在解析、转换和生成修改后的代码时会保留源代码中的注释。
另一种选择是 rod 项目,它提供了更全面的源代码重构方法。 Rope 包括对各种转换操作和重构的支持。
对于 AST 操作,可以使用 ast 模块。然而,虽然 ast 模块可以转换 AST,但它主要用于创建代码对象。
另一个选择是 redbaron 项目,它提供了 DSL,用于以简洁且可管理的方式修改 Python 源代码。
这些工具允许您通过 AST 操作以编程方式修改 Python 源代码,从而实现突变测试、代码转换和重构等自动化任务。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3