2013-06-28 2 views
0

을 intrepret 할 수있는 방법을 찾고 있지만, 여기에 우리가 간다 :나는 이것이 아주 좋은 질문하지 느낌 파이썬 코드 구조를

은 라이브러리 (텍스트로) 그 파이썬 파일을 볼 수 있습니다 존재를 분해 하는가 '비트'로, 사전/배열에 말하십시오. 그런 다음 배열을 단계별로 살펴보고 클래스, 함수, 변수 등을 선택할 수 있습니다.

전체 프로젝트를 분석하고 서로 관련있는 클래스/모듈을 나열 할 수있는 도구를 만들려고합니다.

내가 혼자서하는 것을 생각할 수있는 유일한 방법은 각 줄을 밟고 많은 정규식을 수행하는 것입니다.

답변

4

파이썬 코드의 추상 구문 트리를 분석하고 트래버스 할 수있는 ast module을 찾고 있습니다. ast.parse(),

compile() function 당신이 AST에 파이썬 소스 파일을 컴파일 할 수 있지만 모듈 자체가 너무 도우미 기능을 제공합니다 :

import ast 

with open(sourcefilename, 'r') as source: 
    tree = ast.parse(source.read(), sourcefilename) 

누군가가 파이썬 AST의 논쟁에 전자 책을 썼다 : Green Tree Snakes - the missing Python AST docs을 당신 재미 있을지도 몰라.

+0

아름답습니다. 감사합니다. – wjdp