2009-01-18 3 views
3

프로젝트 용 파일을 빌드하는 SConstruct에서 작업 중이며 옵션이 사용되지 않으므로 옵션을 변수로 업데이트하려고합니다. 비록 변수를 사용하는 방법을 이해하지 않습니다. 나는 아마도 이것에 기여하는 0 파이썬 경험이 있습니다.SCons 문제 - 변수 클래스를 이해하지 못합니다.

예를 들어,이 있습니다

opts = Variables() 
opts.Add('fcgi',0) 
print opts['fcgi'] 

을하지만 오류 얻을 :

AttributeError: Variables instance has no attribute '__getitem__': 

하지 않음이 특정 오류가 당신에게 그 클래스를 알려줍니다 그건

+0

참고 여기서 끝 완전히 혼동 : 당신은 * 반드시 *이'추가()'변수를 순서대로 실제로 읽을 수에 대한 파일에서. 파일에 항목을 추가하고'opts '에 그 파일이 나타날 것을 기대할 수는 없습니다. –

답변

5

나중에 테스트 할 수 있도록 환경 변수를 저장합니다. 그런 다음

opts = Variables() 
opts.Add('fcgi',0) 
env = Environment(variables=opts, ...) 

나중에 테스트 할 수 있습니다 : 나는처럼 누군가를 위해

if env['fcgi'] == 0: 
    # do something 
1

작동하도록되어 어떻게 확인을 Variables__getitem__interface을 구현하지 않았으므로 [ ...]opts에 사용할 수 있습니다.

for key in opts.keys(): 
    print key 

아니면 도움말 텍스트를 인쇄 할 수 있습니다 : 당신이 원하는 모든 인쇄 밖으로 열쇠 인 경우 Variablesdocumentation이 보인다는 당신이 당신의 키를 반복 수 있음을 나타냅니다 일반적으로

print opts.GenerateHelpText() 
관련 문제