Python 소스 코드를 프로그래밍 방식으로 편집하려면 코드를 읽고 AST(추상 구문 트리)로 구문 분석하는 작업이 포함되는 경우가 많습니다. 그러나 AST를 수정하고 수정된 코드를 다시 작성하여 새 소스 파일을 생성하는 것은 ast 및 컴파일러와 같은 표준 Python 모듈에서는 어려울 수 있습니다.
이 문제에 대한 한 가지 솔루션은 다음에서 사용되는 lib2to3 라이브러리에서 제공됩니다. Pythscope 테스트 케이스 생성기 및 Python용 2to3 도구. lib2to3은 수정된 코드를 구문 분석, 변환 및 생성할 때 소스 코드의 주석을 보존합니다.
대체 옵션은 소스 코드 리팩토링에 대한 보다 포괄적인 접근 방식을 제공하는 Rope 프로젝트입니다. Rope에는 다양한 변환 작업 및 리팩토링에 대한 지원이 포함되어 있습니다.
특히 AST 조작의 경우 ast 모듈을 사용할 수 있습니다. 그러나 ast 모듈은 AST를 변환할 수 있지만 주로 코드 개체를 생성하기 위한 것입니다.
또 다른 옵션은 간결하고 관리 가능한 방식으로 Python 소스 코드를 수정하기 위한 DSL을 제공하는 redbaron 프로젝트입니다.
이러한 도구를 사용하면 AST 조작을 통해 Python 소스 코드를 프로그래밍 방식으로 수정할 수 있으므로 돌연변이 테스트, 코드 변환, 리팩토링과 같은 자동화된 작업이 가능합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3