A edição programática do código-fonte Python geralmente envolve a leitura e análise do código em uma árvore de sintaxe abstrata (AST). No entanto, modificar o AST e escrever de volta o código modificado para gerar um novo arquivo fonte pode ser um desafio com módulos Python padrão como ast e compilador.
Uma solução para este problema é fornecida pela biblioteca lib2to3, conforme usada em o gerador de casos de teste Pythoscope e a ferramenta 2to3 para Python. lib2to3 preserva comentários no código-fonte ao analisar, transformar e gerar o código modificado.
Uma opção alternativa é o projeto Rope, que oferece uma abordagem mais abrangente para refatoração do código-fonte. corda inclui suporte para várias operações de transformação e refatorações.
Para manipulação AST especificamente, o módulo ast pode ser empregado. No entanto, embora o módulo ast possa transformar ASTs, ele se destina principalmente à criação de objetos de código.
Outra opção é o projeto redbaron, que fornece uma DSL para modificar o código-fonte Python de uma forma concisa e gerenciável.
Essas ferramentas permitem que você modifique programaticamente o código-fonte Python por meio da manipulação AST, permitindo tarefas automatizadas como testes de mutação, transformações de código e refatoração.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3