SCons问题 - 不了解Variables类

时间:2009-01-18 23:13:17

标签: python variables scons

我正在为一个项目开发一个SConstruct构建文件,我正在尝试从Options更新到Variables,因为不推荐使用Options。我不明白如何使用变量。我有0 python经验,这可能有助于此。

例如,我有这个:

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

但是我收到了一个错误:

AttributeError: Variables instance has no attribute '__getitem__':

不确定这应该如何运作

2 个答案:

答案 0 :(得分:5)

通常,您会将变量存储在您的环境中以供以后测试。

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

然后你可以测试:

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

答案 1 :(得分:1)

该特定错误告诉您,类Variables尚未实现python的__getitem__ interface,这样您就可以在[ ...]上使用opts。如果您只想打印出密钥,Variables documentation似乎表示您可以重复密钥:

for key in opts.keys():
    print key

或者您可以打印出帮助文本:

print opts.GenerateHelpText()