2011-02-15 3 views

답변

0

템플릿 파일을 입력으로 사용하여 대체 된 데이터를 출력으로 생성하는 빌더를 정의 할 수 있습니다. 가장 유연한 방법은 빌더의 액션으로 파이썬 함수를 사용하는 것입니다. 이렇게하면 Python의 풍부한 정규 표현식 지원을 사용하여 대체를 수행 할 수 있습니다. 변수와 그 값에 관해서는 "env"인수에서 함수에 대한 구성 변수를 사용할 수 있습니다. 모든 변수가 구조 변수가되면 env.subst()를 사용하여 검색을 수행하고 바꿀 수 있습니다.

또는 일회용 인 경우 "sed"또는 유사한 프로그램으로 쉘 아웃하는 명령을 사용하여 모든 작업을 수행 할 수 있습니다.

6

Substfile 메서드를 사용할 수 있습니다. 이것은 입력 파일을 취하고 표시된 변수를 대체하는 출력 파일을 생성합니다. 그래서 당신은 script.py.in있는 경우 : 당신은 문자열 '\$SOFTWARE_VERSION' 그렇지 않으면 SCons는 내부로 해석에서 $을 탈출 할 필요가

env = Environment(tools=['textfile']) 
script_dict = {'\$SOFTWARE_VERSION': '1.0'} 
env.Substfile('script.py.in', SUBST_DICT = script_dict) 

:

#!/usr/bin/python 
print "$SOFTWARE_VERSION" 

는 그런 다음 출력을 생성하려면 다음 SConsctruct 파일을 사용할 수 있습니다 환경 변수. 결과는 다음 내용으로 파일 script.py 될 것이다 : 당신은 다음 env.Install를 사용하여이 결과 대체 파일을 설치할 수 있습니다

#!/usr/bin/python 
print "1.0" 

.

관련 문제