4

我正在为一个项目处理 SConstruct 构建文件,并且我正在尝试从选项更新为变量,因为选项已被弃用。我不明白如何使用变量。我有 0 次 python 经验,这可能是造成这种情况的原因。

例如,我有这个:

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

但我收到一个错误:

AttributeError: Variables instance has no attribute '__getitem__':

不知道这应该如何工作

4

2 回答 2

5

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

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

然后你可以稍后测试:

if env['fcgi'] == 0:
    # do something
于 2009-02-12T16:18:08.380 回答
1

该特定错误告诉您该类Variables尚未实现__getitem__ 允许[ ...]opts. 如果您只想打印出您的密钥,Variables 文档似乎表明您可以迭代您的密钥:

for key in opts.keys():
    print key

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

print opts.GenerateHelpText()
于 2009-01-24T17:47:47.683 回答