La edición programática del código fuente de Python a menudo implica leer y analizar el código en un árbol de sintaxis abstracta (AST). Sin embargo, modificar el AST y volver a escribir el código modificado para generar un nuevo archivo fuente puede ser un desafío con los módulos estándar de Python como ast y compilador.
La biblioteca lib2to3, como se usa en el generador de casos de prueba de Pythoscope y la herramienta 2to3 para Python. lib2to3 conserva los comentarios en el código fuente al analizar, transformar y generar el código modificado.
Una opción alternativa es el proyecto rope, que ofrece un enfoque más completo para la refactorización del código fuente. rope incluye soporte para varias operaciones de transformación y refactorizaciones.
Para la manipulación de AST específicamente, se puede emplear el módulo ast. Sin embargo, si bien el módulo ast puede transformar AST, está destinado principalmente a crear objetos de código.
Otra opción es el proyecto redbaron, que proporciona un DSL para modificar el código fuente de Python de una manera concisa y manejable.
Estas herramientas le permiten modificar mediante programación el código fuente de Python mediante la manipulación de AST, lo que permite tareas automatizadas como pruebas de mutación, transformaciones de código y refactorización.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3